Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-1586

Rationalize the way that service instances are referenced by RO vs rest of the framework

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.13.2.1
    • 1.14.0
    • Core, Viewer RO
    • None

    Description

      The URLs in Restful Objects viewer are derived from ServiceUtil.id(...), which evaluates the getId() method of the service class, otherwise falls back to the simpleName of the class.

      Meanwhile in the metamodel itself - ie the ObjectSpecId, as used in the first part of the objectType and bookmarks - is always simply the fully-qualified class name.

      In the Wicket viewer (unlike entities) this FQCN doesn't normally manifests as a URL, though it can be seen for bookmarked actions. It can also be seen for published interactions, as the target object.

      To rationalize things:

      • introduce a new @DomainService#serviceType (analogous to @DomainObject#objectType
      • use the value of this serviceType if present
      • otherwise fallback to getId()
      • otherwise fallback to the fully qualified class name.

      This final fallback is a slight change in default behaviour for any apps just using the RO viewer - its default would have been just the simple class name of the service. The workaround is to add either serviceType or getId() explicitly.

      Attachments

        Activity

          People

            danhaywood Daniel Keir Haywood
            danhaywood Daniel Keir Haywood
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: