You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/04/13 06:13:01 UTC

[isis] branch master updated: ISIS-3004: removal of uses of @DomainService.logicalTypeName (2)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 4c190588a4 ISIS-3004: removal of uses of @DomainService.logicalTypeName (2)
4c190588a4 is described below

commit 4c190588a41c23dd2f8c3d59a1da4259e0876551
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Apr 13 08:12:56 2022 +0200

    ISIS-3004: removal of uses of @DomainService.logicalTypeName (2)
---
 .../web/src/main/java/demoapp/web/linebreaker/LineBreaker.java |  5 +++--
 .../src/main/java/demoapp/web/replay/DemoReplayController.java |  6 ++++--
 .../web/security/PrototypeActionsVisibilityAdvisor.java        |  6 ++++--
 .../isis/extensions/commandlog/jdo/ui/CommandServiceMenu.java  |  7 ++-----
 .../applib/permission/menu/ApplicationPermissionMenu.java      |  5 +++--
 .../secman/applib/role/menu/ApplicationRoleMenu.java           |  5 +++--
 .../secman/applib/tenancy/menu/ApplicationTenancyMenu.java     |  5 +++--
 .../secman/applib/user/menu/ApplicationUserMenu.java           |  5 +++--
 .../isis/extensions/secman/applib/user/menu/MeService.java     |  5 +++--
 .../extensions/secman/applib/mmm/dom/ChaseCatsService.java     |  5 ++++-
 .../extensions/secman/applib/mmm/dom/EatCheeseService.java     |  5 ++++-
 .../secman/applib/mmm/dom/PressLiftButtonService.java          |  5 ++++-
 .../isis/extensions/secman/applib/mmm/dom/RideLiftService.java |  5 ++++-
 .../isis/persistence/jdo/applib/types/LogicalTypeName.java     |  9 +++++----
 .../isis/persistence/jdo/applib/types/ObjectIdentifier.java    |  8 +++++---
 .../isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java  | 10 +++-------
 .../org/apache/isis/testdomain/jdo/JdoInventoryResource.java   |  5 +++--
 .../org/apache/isis/testdomain/jpa/JpaInventoryResource.java   |  7 +++----
 .../isis/testdomain/model/actnsemantics/BlobDemoMenu.java      |  7 +++----
 .../isis/testdomain/model/good/ProperServiceWithMixin.java     |  7 ++++---
 .../java/org/apache/isis/testdomain/rospec/RoSpecSampler.java  |  8 +++++---
 21 files changed, 75 insertions(+), 55 deletions(-)

diff --git a/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java b/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
index 329055666c..959d9353ac 100644
--- a/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
+++ b/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
@@ -19,6 +19,7 @@
 package demoapp.web.linebreaker;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainService;
@@ -36,9 +37,9 @@ import lombok.extern.log4j.Log4j2;
  * REST endpoint to allow for remote application shutdown
  *
  */
+@Named("demo.LineBreaker")
 @DomainService(
-        nature = NatureOfService.REST,
-        logicalTypeName = "demo.LineBreaker"
+        nature = NatureOfService.REST
 )
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
diff --git a/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java b/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java
index 1a12eaebde..03ba0bec9f 100644
--- a/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java
+++ b/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java
@@ -18,6 +18,8 @@
  */
 package demoapp.web.replay;
 
+import javax.inject.Named;
+
 import org.springframework.context.annotation.Profile;
 
 import org.apache.isis.applib.annotation.Action;
@@ -28,9 +30,9 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.extensions.commandreplay.secondary.spi.ReplayCommandExecutionController;
 
+@Named("demo.web.DemoReplayController")
 @DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = "demo.web.DemoReplayController"
+        nature = NatureOfService.VIEW
 )
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @Profile("secondary")
diff --git a/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java b/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java
index b833076c16..44e9b4a415 100644
--- a/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java
+++ b/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java
@@ -18,6 +18,8 @@
  */
 package demoapp.web.security;
 
+import javax.inject.Named;
+
 import org.springframework.context.event.EventListener;
 
 import org.apache.isis.applib.annotation.Action;
@@ -34,9 +36,9 @@ import org.apache.isis.applib.mixins.metamodel.Object_rebuildMetamodel;
 import org.apache.isis.applib.mixins.rest.Object_openRestApi;
 import org.apache.isis.core.metamodel.inspect.Object_inspectMetamodel;
 
+@Named("demo.PrototypeActionsVisibilityAdvisor")
 @DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = "demo.PrototypeActionsVisibilityAdvisor"
+        nature = NatureOfService.VIEW
 )
 @DomainServiceLayout(
         menuBar = DomainServiceLayout.MenuBar.TERTIARY
diff --git a/extensions/core/command-log/jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/ui/CommandServiceMenu.java b/extensions/core/command-log/jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/ui/CommandServiceMenu.java
index 6bcfefe4e6..4f2f82d7e9 100644
--- a/extensions/core/command-log/jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/ui/CommandServiceMenu.java
+++ b/extensions/core/command-log/jdo/src/main/java/org/apache/isis/extensions/commandlog/jdo/ui/CommandServiceMenu.java
@@ -51,22 +51,19 @@ import lombok.RequiredArgsConstructor;
 /**
  * @since 2.0 {@index}
  */
+@Named(IsisModuleExtCommandLogJdo.NAMESPACE + ".CommandServiceMenu")
 @DomainService(
-    nature = NatureOfService.VIEW,
-    logicalTypeName = CommandServiceMenu.LOGICAL_TYPE_NAME
+    nature = NatureOfService.VIEW
 )
 @DomainServiceLayout(
     named = "Activity",
     menuBar = DomainServiceLayout.MenuBar.SECONDARY
 )
-@Named(CommandServiceMenu.LOGICAL_TYPE_NAME)
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @Qualifier("Jdo")
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class CommandServiceMenu {
 
-    public final static String LOGICAL_TYPE_NAME = IsisModuleExtCommandLogJdo.NAMESPACE + ".CommandServiceMenu";
-
     public static abstract class PropertyDomainEvent<T>
             extends IsisModuleExtCommandLogJdo.PropertyDomainEvent<CommandServiceMenu, T> { }
     public static abstract class CollectionDomainEvent<T>
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/menu/ApplicationPermissionMenu.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/menu/ApplicationPermissionMenu.java
index 3b8a6779f1..da28046007 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/menu/ApplicationPermissionMenu.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/menu/ApplicationPermissionMenu.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.secman.applib.permission.menu;
 import java.util.Collection;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -38,9 +39,9 @@ import org.apache.isis.extensions.secman.applib.permission.app.ApplicationOrphan
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionRepository;
 
+@Named(ApplicationPermissionMenu.LOGICAL_TYPE_NAME)
 @DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = ApplicationPermissionMenu.LOGICAL_TYPE_NAME
+        nature = NatureOfService.VIEW
 )
 @DomainServiceLayout(
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/menu/ApplicationRoleMenu.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/menu/ApplicationRoleMenu.java
index 7deb1d5dc7..d5ee1c1e86 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/menu/ApplicationRoleMenu.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/menu/ApplicationRoleMenu.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.secman.applib.role.menu;
 import java.util.Collection;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -41,9 +42,9 @@ import org.apache.isis.extensions.secman.applib.role.man.ApplicationRoleManager;
 
 import lombok.RequiredArgsConstructor;
 
+@Named(ApplicationRoleMenu.LOGICAL_TYPE_NAME)
 @DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = ApplicationRoleMenu.LOGICAL_TYPE_NAME
+        nature = NatureOfService.VIEW
 )
 @DomainServiceLayout(
         named = "Security",
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/menu/ApplicationTenancyMenu.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/menu/ApplicationTenancyMenu.java
index 81bf932bfd..14bbe3f6d5 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/menu/ApplicationTenancyMenu.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/menu/ApplicationTenancyMenu.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.secman.applib.tenancy.menu;
 import java.util.Collection;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -41,9 +42,9 @@ import org.apache.isis.extensions.secman.applib.tenancy.dom.ApplicationTenancy;
 import org.apache.isis.extensions.secman.applib.tenancy.dom.ApplicationTenancyRepository;
 import org.apache.isis.extensions.secman.applib.tenancy.man.ApplicationTenancyManager;
 
+@Named(ApplicationTenancyMenu.LOGICAL_TYPE_NAME)
 @DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = ApplicationTenancyMenu.LOGICAL_TYPE_NAME
+        nature = NatureOfService.VIEW
 )
 @DomainServiceLayout(
         named = "Security",
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/ApplicationUserMenu.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/ApplicationUserMenu.java
index c008fd4b05..7cca2a1e4a 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/ApplicationUserMenu.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/ApplicationUserMenu.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.secman.applib.user.menu;
 import java.util.Collection;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -40,9 +41,9 @@ import org.apache.isis.extensions.secman.applib.user.man.ApplicationUserManager;
 
 import lombok.RequiredArgsConstructor;
 
+@Named(ApplicationUserMenu.LOGICAL_TYPE_NAME)
 @DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = ApplicationUserMenu.LOGICAL_TYPE_NAME
+        nature = NatureOfService.VIEW
 )
 @DomainServiceLayout(
         named = "Security",
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/MeService.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/MeService.java
index 749cc2c424..37b35b47b0 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/MeService.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/menu/MeService.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.secman.applib.user.menu;
 import java.util.concurrent.Callable;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Component;
@@ -48,9 +49,9 @@ import lombok.RequiredArgsConstructor;
 /**
  * @since 2.0 {@index}
  */
+@Named(MeService.LOGICAL_TYPE_NAME)
 @DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = MeService.LOGICAL_TYPE_NAME
+        nature = NatureOfService.VIEW
 )
 @DomainServiceLayout(
         menuBar = DomainServiceLayout.MenuBar.TERTIARY
diff --git a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/ChaseCatsService.java b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/ChaseCatsService.java
index 4d78f40fae..fb96c4b998 100644
--- a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/ChaseCatsService.java
+++ b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/ChaseCatsService.java
@@ -18,10 +18,13 @@
  */
 package org.apache.isis.extensions.secman.applib.mmm.dom;
 
+import javax.inject.Named;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainService;
 
-@DomainService(logicalTypeName = "mmm.ChaseCatsService")
+@Named("mmm.ChaseCatsService")
+@DomainService
 public class ChaseCatsService {
     @Action
     public void chaseCats() {}
diff --git a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/EatCheeseService.java b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/EatCheeseService.java
index d2b5b057fc..e9bcc03a36 100644
--- a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/EatCheeseService.java
+++ b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/EatCheeseService.java
@@ -18,10 +18,13 @@
  */
 package org.apache.isis.extensions.secman.applib.mmm.dom;
 
+import javax.inject.Named;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainService;
 
-@DomainService(logicalTypeName = "mmm.EatsCheeseService")
+@Named("mmm.EatsCheeseService")
+@DomainService
 public class EatCheeseService {
     @Action
     public void eatCheese() {}
diff --git a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/PressLiftButtonService.java b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/PressLiftButtonService.java
index fdd6ceadd6..fa16a3fd5d 100644
--- a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/PressLiftButtonService.java
+++ b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/PressLiftButtonService.java
@@ -18,10 +18,13 @@
  */
 package org.apache.isis.extensions.secman.applib.mmm.dom;
 
+import javax.inject.Named;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainService;
 
-@DomainService(logicalTypeName = "mmm.PressLiftButtonService")
+@Named("mmm.PressLiftButtonService")
+@DomainService
 public class PressLiftButtonService {
     @Action
     public void pressLiftButton() {}
diff --git a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/RideLiftService.java b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/RideLiftService.java
index fe04256159..ad84fb8094 100644
--- a/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/RideLiftService.java
+++ b/extensions/security/secman/applib/src/test/java/org/apache/isis/extensions/secman/applib/mmm/dom/RideLiftService.java
@@ -18,10 +18,13 @@
  */
 package org.apache.isis.extensions.secman.applib.mmm.dom;
 
+import javax.inject.Named;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainService;
 
-@DomainService(logicalTypeName = "mmm.RideLiftService")
+@Named("mmm.RideLiftService")
+@DomainService
 public class RideLiftService {
     @Action
     public void rideLift() {}
diff --git a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/LogicalTypeName.java b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/LogicalTypeName.java
index 0ab62d4a60..23eff1f451 100644
--- a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/LogicalTypeName.java
+++ b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/LogicalTypeName.java
@@ -23,10 +23,11 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
+import javax.inject.Named;
+
 import org.springframework.core.annotation.AliasFor;
 
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.Optionality;
 import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
@@ -35,11 +36,11 @@ import org.apache.isis.applib.annotation.PropertyLayout;
 
 /**
  * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * logical type name of a domain object (as per @{@link DomainObject#logicalTypeName() DomainObject#logicalTypeName}
- * or @{@link DomainService#logicalTypeName() DomainObject#logicalTypeName}).
+ * logical type name of a domain object (as per @{@link DomainObject#logicalTypeName()}
+ * or @{@link Named#value()}) and consorts.
  *
  * @see DomainObject
- * @see DomainService
+ * @see Named
  * @see ObjectIdentifier
  *
  * @since 2.0 {@index}
diff --git a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/ObjectIdentifier.java b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/ObjectIdentifier.java
index f8a4a9acaa..31b8a14f8e 100644
--- a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/ObjectIdentifier.java
+++ b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/types/ObjectIdentifier.java
@@ -23,10 +23,11 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
+import javax.inject.Named;
+
 import org.springframework.core.annotation.AliasFor;
 
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.Optionality;
 import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
@@ -35,8 +36,9 @@ import org.apache.isis.applib.annotation.PropertyLayout;
 
 /**
  * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * the identity of a domain object (with respect to its logical type, as per @{@link DomainObject#logicalTypeName() DomainObject#logicalTypeName}
- * or @{@link DomainService#logicalTypeName() DomainObject#logicalTypeName}).
+ * the identity of a domain object (with respect to its logical type,
+ * as per @{@link DomainObject#logicalTypeName()}
+ * or @{@link Named#value()}) and consorts.
  *
  * @see LogicalTypeName
  *
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
index 61ec1b97f9..0b74f8f1b4 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
@@ -42,20 +42,16 @@ import org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-@DomainService(
-        logicalTypeName = JdoMetamodelMenu.LOGICAL_TYPE_NAME
-)
+@Named(IsisModulePersistenceJdoMetamodel.NAMESPACE + ".JdoMetamodelMenu")
+@DomainService()
 @DomainServiceLayout(
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
         named = "Prototyping"
 )
-@Named(JdoMetamodelMenu.LOGICAL_TYPE_NAME)
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class JdoMetamodelMenu {
 
-    public final static String LOGICAL_TYPE_NAME = IsisModulePersistenceJdoMetamodel.NAMESPACE + ".JdoMetamodelMenu";
-
     final JdoSupportService jdoSupport;
     final JdoFacetContext jdoFacetContext;
 
@@ -102,7 +98,7 @@ public class JdoMetamodelMenu {
         return zipWriter.toBytes();
     }
 
-    private String zipEntryNameFor(TypeMetadata metadata) {
+    private String zipEntryNameFor(final TypeMetadata metadata) {
         return metadata.getName() + ".xml";
     }
 
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryResource.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryResource.java
index 4812ebd560..5e763d3da5 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryResource.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryResource.java
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 import javax.xml.bind.JAXBException;
 
 import org.springframework.web.context.request.RequestContextHolder;
@@ -42,9 +43,9 @@ import org.apache.isis.testdomain.util.dto.BookDto;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
+@Named("testdomain.jdo.InventoryResource")
 @DomainService(
-        nature = NatureOfService.REST,
-        logicalTypeName = "testdomain.jdo.InventoryResource"
+        nature = NatureOfService.REST
 )
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryResource.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryResource.java
index 4af5fd6030..288a945594 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryResource.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryResource.java
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 import javax.xml.bind.JAXBException;
 
 import org.springframework.web.context.request.RequestContextHolder;
@@ -42,10 +43,8 @@ import org.apache.isis.testdomain.util.dto.BookDto;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-@DomainService(
-        nature = NatureOfService.REST,
-        logicalTypeName = "testdomain.jpa.InventoryResource"
-)
+@Named("testdomain.jpa.InventoryResource")
+@DomainService(nature = NatureOfService.REST)
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class JpaInventoryResource {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/actnsemantics/BlobDemoMenu.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/actnsemantics/BlobDemoMenu.java
index 67a2188627..dc30afb6f6 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/actnsemantics/BlobDemoMenu.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/actnsemantics/BlobDemoMenu.java
@@ -19,6 +19,7 @@
 package org.apache.isis.testdomain.model.actnsemantics;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -30,10 +31,8 @@ import org.apache.isis.applib.services.factory.FactoryService;
 
 import lombok.val;
 
-@DomainService(
-        nature=NatureOfService.VIEW,
-        logicalTypeName = "regressiontests.BlobDemoMenu"
-)
+@Named("regressiontests.BlobDemoMenu")
+@DomainService(nature=NatureOfService.VIEW)
 @DomainObjectLayout(
         named="Blob Demo Menu"
 )
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperServiceWithMixin.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperServiceWithMixin.java
index e2998921d0..35e2fc9977 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperServiceWithMixin.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperServiceWithMixin.java
@@ -18,6 +18,8 @@
  */
 package org.apache.isis.testdomain.model.good;
 
+import javax.inject.Named;
+
 import org.joda.time.LocalDateTime;
 
 import org.apache.isis.applib.annotation.Action;
@@ -25,9 +27,8 @@ import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.NatureOfService;
 
-@DomainService(
-        nature = NatureOfService.VIEW,
-        logicalTypeName = "testdomain.ProperServiceWithMixin")
+@Named("testdomain.ProperServiceWithMixin")
+@DomainService(nature = NatureOfService.VIEW)
 public class ProperServiceWithMixin {
 
     @Action
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java
index 2161e1b47e..06d6a23f68 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java
@@ -21,6 +21,8 @@ package org.apache.isis.testdomain.rospec;
 import java.math.BigInteger;
 import java.util.List;
 
+import javax.inject.Named;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
@@ -28,9 +30,9 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.commons.internal.collections._Lists;
 
+@Named("testdomain.RoSpecSampler")
 @DomainService(
-        nature = NatureOfService.REST,
-        logicalTypeName = "testdomain.RoSpecSampler"
+        nature = NatureOfService.REST
 )
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 public class RoSpecSampler {
@@ -166,7 +168,7 @@ public class RoSpecSampler {
     }
 
     @Action
-    public BigComplex complexAdd(String are, String aim, String bre, String bim) {
+    public BigComplex complexAdd(final String are, final String aim, final String bre, final String bim) {
         return BigComplex.of(are, aim).add(BigComplex.of(bre, bim));
     }