+
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/isis.extensions.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.extensions.adoc
index 0873b027886..8d8b7395f12 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/isis.extensions.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.extensions.adoc
@@ -12,8 +12,8 @@ include::../section-hooks/isis.extensions~pre.adoc[]
|Default
|Description
|
-[[isis.extensions.command-replay.analyser.exception.enabled]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.analyser.exception.enabled]]
+isis.extensions.commandreplay. +
analyser.exception.enabled
| true
@@ -21,8 +21,8 @@ analyser.exception.enabled
|
-[[isis.extensions.command-replay.analyser.result.enabled]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.analyser.result.enabled]]
+isis.extensions.commandreplay. +
analyser.result.enabled
| true
@@ -30,8 +30,8 @@ analyser.result.enabled
|
-[[isis.extensions.command-replay.batch-size]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.batch-size]]
+isis.extensions.commandreplay. +
batch-size
| 10
@@ -39,44 +39,44 @@ batch-size
|
-[[isis.extensions.command-replay.primary-access.base-url-restful]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.primary-access.base-url-restful]]
+isis.extensions.commandreplay. +
primary-access.base-url-restful
-|
+|
| null
|
-[[isis.extensions.command-replay.primary-access.base-url-wicket]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.primary-access.base-url-wicket]]
+isis.extensions.commandreplay. +
primary-access.base-url-wicket
-|
+|
| null
|
-[[isis.extensions.command-replay.primary-access.password]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.primary-access.password]]
+isis.extensions.commandreplay. +
primary-access.password
-|
+|
| null
|
-[[isis.extensions.command-replay.primary-access.user]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.primary-access.user]]
+isis.extensions.commandreplay. +
primary-access.user
-|
+|
| null
|
-[[isis.extensions.command-replay.quartz-replicate-and-replay-job.repeat-interval]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.quartz-replicate-and-replay-job.repeat-interval]]
+isis.extensions.commandreplay. +
quartz-replicate-and-replay-job. +
repeat-interval
@@ -85,8 +85,8 @@ repeat-interval
|
-[[isis.extensions.command-replay.quartz-replicate-and-replay-job.start-delay]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.quartz-replicate-and-replay-job.start-delay]]
+isis.extensions.commandreplay. +
quartz-replicate-and-replay-job. +
start-delay
@@ -95,8 +95,8 @@ start-delay
|
-[[isis.extensions.command-replay.quartz-session.roles]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.quartz-session.roles]]
+isis.extensions.commandreplay. +
quartz-session.roles
| isisModuleExtCommandReplaySecondar +
@@ -105,8 +105,8 @@ yRole
|
-[[isis.extensions.command-replay.quartz-session.user]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.quartz-session.user]]
+isis.extensions.commandreplay. +
quartz-session.user
| isisModuleExtCommandReplaySecondar +
@@ -115,11 +115,11 @@ yUser
|
-[[isis.extensions.command-replay.secondary-access.base-url-wicket]]
-isis.extensions.command-replay. +
+[[isis.extensions.commandreplay.secondary-access.base-url-wicket]]
+isis.extensions.commandreplay. +
secondary-access.base-url-wicket
-|
+|
| null
@@ -128,7 +128,7 @@ secondary-access.base-url-wicket
isis.extensions.cors. +
allow-credentials
-|
+|
| TODO missing java-doc
@@ -137,7 +137,7 @@ allow-credentials
isis.extensions.cors. +
allowed-headers
-|
+|
| Which HTTP headers are allowed in a CORS request.
For more information, check the usage of the ``headers`` init parameter for https://github.com/eBay/cors-filter[EBay CORSFilter].
@@ -148,7 +148,7 @@ For more information, check the usage of the ``headers`` init parameter for http
isis.extensions.cors. +
allowed-methods
-|
+|
| Which HTTP methods are permitted in a CORS request.
For more information, check the usage of the ``methods`` init parameter for https://github.com/eBay/cors-filter[EBay CORSFilter].
@@ -183,7 +183,7 @@ For more information, check the usage of the ``headers`` init parameter for http
isis.extensions.secman. +
delegated-users.auto-create-policy
-|
+|
| Whether delegated users should be autocreated as locked (the default) or unlocked.
BE AWARE THAT if any users are auto-created as unlocked, then the set of roles that they are given should be highly restricted !!!
@@ -194,7 +194,7 @@ BE AWARE THAT if any users are auto-created as unlocked, then the set of roles t
isis.extensions.secman. +
permissions-evaluation-policy
-|
+|
| If there are conflicting (allow vs veto) permissions at the same scope, then this policy determines whether to prefer to allow the permission or to veto it.
This is only used if a ``PermissionsEvaluationService`` has not been declared explicitly.
@@ -205,7 +205,7 @@ This is only used if a ``PermissionsEvaluationService`` has not been declared ex
isis.extensions.secman.seed.admin. +
namespace-permissions.additional
-|
+|
| An (optional) additional set of namespaces that the admin role is granted.
These are in addition to the main namespaces granted.
@@ -218,7 +218,7 @@ These are in addition to the main namespaces granted.
isis.extensions.secman.seed.admin. +
namespace-permissions.sticky
-|
+|
| The set of namespaces to which the admin role is granted.
These namespaces are intended to be sufficient to allow users with this admin role to be able to administer the security module itself, for example to manage users and roles. The security user is not necessarily able to use the main business logic within the domain application itself, though.
@@ -235,7 +235,7 @@ WARNING: normally these should not be overridden. Instead, specify additional na
isis.extensions.secman.seed.admin. +
password
-|
+|
| The corresponding password for admin user. @see #getUserName()
@@ -244,7 +244,7 @@ password
isis.extensions.secman.seed.admin. +
role-name
-|
+|
| The name of security admin role.
Users with this role (in particular, the default admin user are granted access to a set of namespaces (``NamespacePermissions#getSticky()`` and ``NamespacePermissions#getAdditional()``) which are intended to be sufficient to allow users with this admin role to be able to administer the security module itself, for example to manage users and roles.
@@ -257,7 +257,7 @@ Users with this role (in particular, the default admin user are granted access t
isis.extensions.secman.seed.admin. +
user-name
-|
+|
| The name of the security super user.
This user is automatically made a member of the admin role, from which it is granted permissions to administer other users.
@@ -272,7 +272,7 @@ The password for this user is set in ``Admin#getPassword()``.
isis.extensions.secman.seed. +
regular-user.role-name
-|
+|
| The role name for regular users of the application, granting them access to basic security features.
The exact set of permissions is hard-wired in the ``IsisExtSecmanRegularUserRoleAndPermissions`` fixture.
@@ -283,7 +283,7 @@ The exact set of permissions is hard-wired in the ``IsisExtSecmanRegularUserRole
isis.extensions.secman. +
user-menu-me-action-policy
-|
+|
| Whether the presence of SecMan should result in the automatic suppression of the ``UserMenu``'s me action.
This is normally what is required as SecMan's ``ApplicationUser`` is a more comprehensive representation of the current user. If the default me action is not suppressed, then the end-user will see two actions with the name "me" in the tertiary menu.
@@ -295,7 +295,7 @@ isis.extensions.secman. +
user-registration. +
initial-role-names
-|
+|
| The set of roles that users registering with the app are granted automatically.
If using the wicket viewer, also requires isis.viewer.wicket.suppress-signup to be set ``false``, along with any other of its other prereqs.
diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 0a34429cf46..f2bddf4e2c9 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -41,6 +41,7 @@
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import javax.activation.DataSource;
+import javax.inject.Named;
import javax.validation.Constraint;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
@@ -54,8 +55,6 @@
import org.apache.isis.applib.IsisModuleApplib;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.Introspection.IntrospectionPolicy;
import org.apache.isis.applib.annotation.LabelPosition;
import org.apache.isis.applib.annotation.PromptStyle;
@@ -1402,7 +1401,7 @@ public static class Validator {
/**
* Whether to ensure that the logical-type-name of all objects must be specified explicitly, using either
- * {@link DomainObject#logicalTypeName()} or {@link DomainService#logicalTypeName()}.
+ * {@link Named}.
*
*
* It is highly advisable to leave this set as enabled (the default). These logical-type-names
@@ -3029,6 +3028,13 @@ public enum UserMenuMeActionPolicy {
*/
private UserMenuMeActionPolicy userMenuMeActionPolicy = UserMenuMeActionPolicy.HIDE;
}
+
+ private final SessionLog sessionLog = new SessionLog();
+ @Data
+ public static class SessionLog {
+ boolean autoLogoutOnRestart = true;
+ }
+
}
private static List listOf(final String ...values) {
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanFactoryPostProcessorForSpring.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanFactoryPostProcessorForSpring.java
index 340bfcb93bd..7a95ca80406 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanFactoryPostProcessorForSpring.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanFactoryPostProcessorForSpring.java
@@ -126,7 +126,7 @@ public IsisBeanTypeClassifier getIsisBeanTypeClassifier() {
}
@Bean("isis.bean-meta-data")
- public Can getIsisComponentScanInterceptor() {
+ public Can getComponentScanResult() {
return isisComponentScanInterceptor.getAndDrainIntrospectableTypes();
}
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanMetaData.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanMetaData.java
index c117ddd6110..4a66bab965c 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanMetaData.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanMetaData.java
@@ -18,6 +18,7 @@
*/
package org.apache.isis.core.config.beans;
+import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.applib.services.metamodel.BeanSort;
import lombok.NonNull;
@@ -26,8 +27,61 @@
@Value(staticConstructor = "of")
public class IsisBeanMetaData {
- private final @NonNull Class> correspondingClass;
+ public enum ManagedBy {
+ UNSPECIFIED,
+ SPRING,
+ ISIS;
+ public boolean isUnspecified() {return this == ManagedBy.UNSPECIFIED; }
+ public boolean isSpring() {return this == ManagedBy.SPRING; }
+ public boolean isIsis() {return this == ManagedBy.ISIS; }
+ /**
+ * Whether Spring should make that underlying bean injectable.
+ * @implNote if not managed by Isis, let ultimately Spring decide
+ */
+ public boolean isInjectable() {
+ return !isIsis();
+ }
+ }
+
private final @NonNull BeanSort beanSort;
- private final @NonNull String beanName;
+ private final @NonNull LogicalType logicalType;
+ private @NonNull ManagedBy managedBy;
+
+ public Class> getCorrespondingClass() {
+ return logicalType.getCorrespondingClass();
+ }
+
+ public String getBeanName() {
+ return logicalType.getLogicalTypeName();
+ }
+
+ // -- FACTORIES
+
+ public static IsisBeanMetaData injectable(
+ final @NonNull BeanSort beanSort,
+ final @NonNull LogicalType logicalType) {
+ return of(beanSort, logicalType, ManagedBy.SPRING);
+ }
+
+ /**
+ * Let Spring decide.
+ */
+ public static IsisBeanMetaData indifferent(
+ final @NonNull BeanSort beanSort,
+ final @NonNull Class> type) {
+ return of(beanSort, LogicalType.infer(type), ManagedBy.UNSPECIFIED);
+ }
+
+ public static IsisBeanMetaData isisManaged(
+ final @NonNull BeanSort beanSort,
+ final @NonNull LogicalType logicalType) {
+ return of(beanSort, logicalType, ManagedBy.ISIS);
+ }
+
+ public static IsisBeanMetaData isisManaged(
+ final @NonNull BeanSort beanSort,
+ final @NonNull Class> type) {
+ return isisManaged(beanSort, LogicalType.infer(type));
+ }
}
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifier.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifier.java
index bb90bb718ae..c06d956ed95 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifier.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifier.java
@@ -20,12 +20,10 @@
import org.springframework.context.ApplicationContext;
-import org.apache.isis.applib.services.metamodel.BeanSort;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.context._Plugin;
import lombok.NonNull;
-import lombok.Value;
/**
* ServiceLoader SPI that allows for implementing instances to have a say during bean type scanning.
@@ -43,7 +41,7 @@ public interface IsisBeanTypeClassifier {
* but later used by the {@code SpecificationLoader} to also
* classify non-concrete types (interfaces and abstract classes).
*/
- BeanClassification classify(Class> type);
+ IsisBeanMetaData classify(Class> type);
// -- FACTORY
@@ -65,37 +63,4 @@ public static Can get() {
return Can.ofCollection(_Plugin.loadAll(IsisBeanTypeClassifier.class));
}
- // -- BEAN CLASSIFICATION RESULT
-
- @Value(staticConstructor = "of")
- public static class BeanClassification {
-
- BeanSort beanSort;
- String explicitLogicalTypeName;
- boolean delegateLifecycleManagement;
-
- // -- FACTORIES
-
- public static BeanClassification delegated(final BeanSort beanSort, final String explicitLogicalTypeName) {
- return of(beanSort, explicitLogicalTypeName, true);
- }
-
- public static BeanClassification delegated(final BeanSort beanSort) {
- return delegated(beanSort, null);
- }
-
- public static BeanClassification selfManaged(final BeanSort beanSort, final String explicitLogicalTypeName) {
- return of(beanSort, explicitLogicalTypeName, false);
- }
-
- public static BeanClassification selfManaged(final BeanSort beanSort) {
- return selfManaged(beanSort, null);
- }
-
- }
-
-
-
-
-
}
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java
index 321954c534e..e4304eff804 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java
@@ -21,19 +21,17 @@
import java.io.Serializable;
import java.lang.reflect.Modifier;
import java.util.Collection;
-import java.util.Locale;
import javax.persistence.Entity;
-import javax.persistence.Table;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.DomainService;
+import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.applib.services.metamodel.BeanSort;
import org.apache.isis.commons.collections.Can;
-import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.reflection._Annotations;
import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.TypeVetoMarker;
@@ -51,20 +49,20 @@ final class IsisBeanTypeClassifierDefault
private final Can classifierPlugins = IsisBeanTypeClassifier.get();
@Override
- public BeanClassification classify(
+ public IsisBeanMetaData classify(
final @NonNull Class> type) {
// handle arbitrary types ...
if(type.isPrimitive()
|| type.isEnum()) {
- return BeanClassification.delegated(BeanSort.VALUE);
+ return IsisBeanMetaData.indifferent(BeanSort.VALUE, type);
}
if(Collection.class.isAssignableFrom(type)
|| Can.class.isAssignableFrom(type)
|| type.isArray()) {
- return BeanClassification.selfManaged(BeanSort.COLLECTION);
+ return IsisBeanMetaData.isisManaged(BeanSort.COLLECTION, type);
}
if(type.isInterface()
@@ -76,12 +74,12 @@ public BeanClassification classify(
// and should also never be identified as ENTITY, VIEWMODEL or MIXIN
// however, concrete types that inherit abstract ones with vetoes,
// will effectively be vetoed through means of annotation synthesis
- return BeanClassification.delegated(BeanSort.ABSTRACT);
+ return IsisBeanMetaData.indifferent(BeanSort.ABSTRACT, type);
}
// handle vetoing ...
if(TypeVetoMarker.anyMatchOn(type)) {
- return BeanClassification.selfManaged(BeanSort.VETOED); // reject
+ return IsisBeanMetaData.isisManaged(BeanSort.VETOED, type); // reject
}
val profiles = Can.ofArray(_Annotations.synthesize(type, Profile.class)
@@ -89,7 +87,7 @@ public BeanClassification classify(
.orElse(null));
if(profiles.isNotEmpty()
&& !profiles.stream().anyMatch(this::isProfileActive)) {
- return BeanClassification.selfManaged(BeanSort.VETOED); // reject
+ return IsisBeanMetaData.isisManaged(BeanSort.VETOED, type); // reject
}
// handle value types ...
@@ -97,19 +95,17 @@ public BeanClassification classify(
val aValue = _Annotations.synthesize(type, org.apache.isis.applib.annotation.Value.class)
.orElse(null);
if(aValue!=null) {
- return BeanClassification.delegated(BeanSort.VALUE);
+ return IsisBeanMetaData.indifferent(BeanSort.VALUE, type);
}
// handle actual bean types ...
val aDomainService = _Annotations.synthesize(type, DomainService.class);
if(aDomainService.isPresent()) {
- return _Strings.isNotEmpty(aDomainService.get().logicalTypeName())
- ? BeanClassification
- .delegated(BeanSort.MANAGED_BEAN_CONTRIBUTING,
- aDomainService.get().logicalTypeName())
- : BeanClassification
- .delegated(BeanSort.MANAGED_BEAN_CONTRIBUTING);
+ val logicalType = LogicalType.infer(type);
+ // overrides Spring naming strategy
+ return IsisBeanMetaData
+ .injectable(BeanSort.MANAGED_BEAN_CONTRIBUTING, logicalType);
}
// allow ServiceLoader plugins to have a say, eg. when classifying entity types
@@ -121,68 +117,42 @@ public BeanClassification classify(
}
if(org.apache.isis.applib.ViewModel.class.isAssignableFrom(type)) {
- return BeanClassification.selfManaged(BeanSort.VIEW_MODEL);
+ return IsisBeanMetaData.isisManaged(BeanSort.VIEW_MODEL, type);
}
val entityAnnotation = _Annotations.synthesize(type, Entity.class).orElse(null);
if(entityAnnotation!=null) {
-
- String logicalTypeName = null;
-
- val aDomainObject = _Annotations.synthesize(type, DomainObject.class).orElse(null);
- if(aDomainObject!=null) {
- logicalTypeName = aDomainObject.logicalTypeName();
- }
-
- // don't trample over the @DomainObject(logicalTypeName=..) if present
- if(_Strings.isEmpty(logicalTypeName)) {
- val aTable = _Annotations.synthesize(type, Table.class).orElse(null);
- if(aTable!=null) {
- val schema = aTable.schema();
- if(_Strings.isNotEmpty(schema)) {
- val table = aTable.name();
- logicalTypeName = String.format("%s.%s", schema.toLowerCase(Locale.ROOT),
- _Strings.isNotEmpty(table)
- ? table
- : type.getSimpleName());
- }
- }
- }
-
- if(_Strings.isNotEmpty(logicalTypeName)) {
- BeanClassification.selfManaged(
- BeanSort.ENTITY, logicalTypeName);
- }
- return BeanClassification.selfManaged(BeanSort.ENTITY);
+ return IsisBeanMetaData.isisManaged(BeanSort.ENTITY, LogicalType.infer(type));
}
val aDomainObject = _Annotations.synthesize(type, DomainObject.class).orElse(null);
if(aDomainObject!=null) {
switch (aDomainObject.nature()) {
case BEAN:
- return BeanClassification.delegated(
+ val logicalType = LogicalType.infer(type);
+ return IsisBeanMetaData.injectable(
BeanSort.MANAGED_BEAN_CONTRIBUTING,
- aDomainObject.logicalTypeName());
+ logicalType);
case MIXIN:
- return BeanClassification.selfManaged(BeanSort.MIXIN);
+ return IsisBeanMetaData.isisManaged(BeanSort.MIXIN, type);
case ENTITY:
- return BeanClassification.selfManaged(BeanSort.ENTITY);
+ return IsisBeanMetaData.isisManaged(BeanSort.ENTITY, type);
case VIEW_MODEL:
case NOT_SPECIFIED:
//because object is not associated with a persistence context unless discovered above
- return BeanClassification.selfManaged(BeanSort.VIEW_MODEL);
+ return IsisBeanMetaData.isisManaged(BeanSort.VIEW_MODEL, type);
}
}
if(_Annotations.isPresent(type, Component.class)) {
- return BeanClassification.delegated(BeanSort.MANAGED_BEAN_NOT_CONTRIBUTING);
+ return IsisBeanMetaData.indifferent(BeanSort.MANAGED_BEAN_NOT_CONTRIBUTING, type);
}
if(Serializable.class.isAssignableFrom(type)) {
- return BeanClassification.delegated(BeanSort.VALUE);
+ return IsisBeanMetaData.indifferent(BeanSort.VALUE, type);
}
- return BeanClassification.delegated(BeanSort.UNKNOWN);
+ return IsisBeanMetaData.indifferent(BeanSort.UNKNOWN, type);
}
// -- HELPER
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistry.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistry.java
index 575827c26d8..752e44b1acb 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistry.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistry.java
@@ -20,7 +20,6 @@
import java.util.Map;
import java.util.Optional;
-import java.util.Set;
import java.util.stream.Stream;
import org.apache.isis.applib.value.semantics.ValueSemanticsProvider;
@@ -35,11 +34,11 @@ public interface IsisBeanTypeRegistry {
Stream streamIntrospectableTypes();
Map, IsisBeanMetaData> getManagedBeansContributing();
- Set> getEntityTypes();
- Set> getMixinTypes();
- Set> getViewModelTypes();
+ Map, IsisBeanMetaData> getEntityTypes();
+ Map, IsisBeanMetaData> getMixinTypes();
+ Map, IsisBeanMetaData> getViewModelTypes();
/** discovered per {@code @Value} annotation (vs. registered using a {@link ValueSemanticsProvider})*/
- Set> getDiscoveredValueTypes();
+ Map, IsisBeanMetaData> getDiscoveredValueTypes();
// -- LOOKUPS
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistryDefault.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistryDefault.java
index c11d79ef55d..962086e093d 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistryDefault.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeRegistryDefault.java
@@ -19,10 +19,8 @@
package org.apache.isis.core.config.beans;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
import java.util.Optional;
-import java.util.Set;
import java.util.stream.Stream;
import javax.annotation.Priority;
@@ -45,7 +43,8 @@
@Named("isis.config.IsisBeanTypeRegistryImpl")
@Priority(PriorityPrecedence.EARLY)
@Qualifier("Default")
-public class IsisBeanTypeRegistryDefault implements IsisBeanTypeRegistry {
+public class IsisBeanTypeRegistryDefault
+implements IsisBeanTypeRegistry {
/**
* (immutable) scan result, as used by the SpecificationLoader for introspection
@@ -56,11 +55,20 @@ public class IsisBeanTypeRegistryDefault implements IsisBeanTypeRegistry {
// -- DISTINCT CATEGORIES OF BEAN SORTS
- @Getter(onMethod_ = {@Override}) private final Map, IsisBeanMetaData> managedBeansContributing = new HashMap<>();
- @Getter(onMethod_ = {@Override}) private final Set> entityTypes = new HashSet<>();
- @Getter(onMethod_ = {@Override}) private final Set> mixinTypes = new HashSet<>();
- @Getter(onMethod_ = {@Override}) private final Set> viewModelTypes = new HashSet<>();
- @Getter(onMethod_ = {@Override}) private final Set> discoveredValueTypes = new HashSet<>();
+ @Getter(onMethod_ = {@Override})
+ private final Map, IsisBeanMetaData> managedBeansContributing = new HashMap<>();
+
+ @Getter(onMethod_ = {@Override})
+ private final Map, IsisBeanMetaData> entityTypes = new HashMap<>();
+
+ @Getter(onMethod_ = {@Override})
+ private final Map, IsisBeanMetaData> mixinTypes = new HashMap<>();
+
+ @Getter(onMethod_ = {@Override})
+ private final Map, IsisBeanMetaData> viewModelTypes = new HashMap<>();
+
+ @Getter(onMethod_ = {@Override})
+ private final Map, IsisBeanMetaData> discoveredValueTypes = new HashMap<>();
// -- LOOKUPS
@@ -82,27 +90,27 @@ public Stream streamIntrospectableTypes() {
public IsisBeanTypeRegistryDefault(final @NonNull Can introspectableTypes) {
this.introspectableTypes = introspectableTypes;
- introspectableTypes.forEach(type->{
+ introspectableTypes.forEach(typeMeta->{
- val cls = type.getCorrespondingClass();
+ val cls = typeMeta.getCorrespondingClass();
- introspectableTypesByClass.put(type.getCorrespondingClass(), type);
+ introspectableTypesByClass.put(typeMeta.getCorrespondingClass(), typeMeta);
- switch (type.getBeanSort()) {
+ switch (typeMeta.getBeanSort()) {
case MANAGED_BEAN_CONTRIBUTING:
- managedBeansContributing.put(cls, type);
+ managedBeansContributing.put(cls, typeMeta);
return;
case MIXIN:
- mixinTypes.add(cls);
+ mixinTypes.put(cls, typeMeta);
return;
case ENTITY:
- entityTypes.add(cls);
+ entityTypes.put(cls, typeMeta);
return;
case VIEW_MODEL:
- viewModelTypes.add(cls);
+ viewModelTypes.put(cls, typeMeta);
return;
case VALUE:
- discoveredValueTypes.add(cls);
+ discoveredValueTypes.put(cls, typeMeta);
return;
// skip introspection for these
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisComponentScanInterceptorImpl.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisComponentScanInterceptorImpl.java
index d881c49e909..88270cf300e 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisComponentScanInterceptorImpl.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisComponentScanInterceptorImpl.java
@@ -20,7 +20,6 @@
import java.util.Map;
-import org.apache.isis.applib.services.metamodel.BeanSort;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.commons.internal.exceptions._Exceptions;
@@ -70,43 +69,34 @@ public Can getAndDrainIntrospectableTypes() {
// -- FILTER
@Override
- public void intercept(final ScannedTypeMetaData typeMeta) {
+ public void intercept(final ScannedTypeMetaData scanMeta) {
- val classOrFailure = typeMeta.getUnderlyingClassOrFailure();
+ val classOrFailure = scanMeta.getUnderlyingClass();
if(classOrFailure.isFailure()) {
log.warn(classOrFailure.getFailure());
return;
}
- val type = classOrFailure.getUnderlyingClass();
- val classification = isisBeanTypeClassifier.classify(type);
+ val correspondingClass = classOrFailure.getValue().get();
+ val typeMeta = isisBeanTypeClassifier.classify(correspondingClass);
- val delegated = classification.isDelegateLifecycleManagement();
- typeMeta.setInjectable(delegated);
- if(delegated) {
- typeMeta.setBeanNameOverride(classification.getExplicitLogicalTypeName());
+ scanMeta.setInjectable(typeMeta.getManagedBy().isInjectable());
+ if(typeMeta.getManagedBy().isIsis()) {
+ // otherwise we don't interfere with naming strategies
+ scanMeta.setBeanNameOverride(typeMeta.getLogicalType().getLogicalTypeName());
}
- val beanSort = classification.getBeanSort();
-
+ val beanSort = typeMeta.getBeanSort();
if(beanSort.isToBeIntrospected()) {
- addIntrospectableType(beanSort, typeMeta);
-
+ introspectableTypes.put(correspondingClass, typeMeta);
if(log.isDebugEnabled()) {
log.debug("to-be-introspected: {} [{}]",
- type,
+ correspondingClass,
beanSort.name());
}
}
}
- // -- HELPER
-
- private void addIntrospectableType(final BeanSort sort, final ScannedTypeMetaData typeMeta) {
- val correspondingClass = typeMeta.getUnderlyingClassOrFailure().getUnderlyingClass();
- val type = IsisBeanMetaData.of(correspondingClass, sort, typeMeta.getEffectiveBeanName());
- introspectableTypes.put(correspondingClass, type);
- }
}
\ No newline at end of file
diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/ScannedTypeMetaData.java b/core/config/src/main/java/org/apache/isis/core/config/beans/ScannedTypeMetaData.java
index 7fa7a8ad7c1..acd4b249d8e 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/ScannedTypeMetaData.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/ScannedTypeMetaData.java
@@ -18,13 +18,13 @@
*/
package org.apache.isis.core.config.beans;
+import org.apache.isis.commons.functional.Try;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.context._Context;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
-import lombok.Value;
import lombok.val;
@RequiredArgsConstructor(staticName = "of")
@@ -51,7 +51,7 @@ final class ScannedTypeMetaData {
@Getter @Setter private boolean injectable = true;
@Getter(lazy=true)
- private final ClassOrFailure underlyingClassOrFailure = resolveClass();
+ private final Try> underlyingClass = resolveClass();
// -- UTILITY
@@ -63,28 +63,15 @@ public String getEffectiveBeanName() {
// -- HELPER
- /**
- * Holds either the class or the failure string when attempting to load by name.
- */
- @Value(staticConstructor = "of")
- static final class ClassOrFailure {
- Class> underlyingClass;
- String failure;
- public boolean isFailure() {
- return underlyingClass==null;
- }
- }
-
/**
* @return the underlying class of this TypeMetaData
*/
- private ClassOrFailure resolveClass() {
- try {
- return ClassOrFailure.of(_Context.loadClass(className), null);
- } catch (ClassNotFoundException e) {
- val msg = String.format("Failed to load class for name '%s', throwing %s", className, e);
- return ClassOrFailure.of(null, msg);
- }
+ private Try> resolveClass() {
+ return Try.>call(()->_Context.loadClass(className))
+ .mapFailure(ex->{
+ val msg = String.format("Failed to load class for name '%s'", className);
+ return new RuntimeException(msg, ex);
+ });
}
diff --git a/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java b/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java
index 8dc2ca1b077..d93d294b241 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java
@@ -447,8 +447,8 @@ public static enum Validation {
+ "(for de-serialization from memento string)."),
DOMAIN_OBJECT_MISSING_A_NAMESPACE("${type}: the object type must declare a namespace, "
+ "yet there was none found in '${logicalTypeName}'; "
- + "eg. @DomainObject(logicalTypeName=\"Customer\") is considered invalid, "
- + "whereas @DomainObject(logicalTypeName=\"sales.Customer\") is valid."),
+ + "eg. @Named(\"Customer\") is considered invalid, "
+ + "whereas @Named(\"sales.Customer\") is valid."),
DOMAIN_SERVICE_MISSING_A_NAMESPACE("${type}: the service type must declare a namespace, "
+ "yet there was none found in '${logicalTypeName}'; "
+ "Spring supports various naming strategies @Named(...) being one of them, "
@@ -464,6 +464,9 @@ public static enum Validation {
+ "Consider importing type ${type} with Spring's @Import annotation. "
+ "Types of sort VALUE should instead register a ValueSemanticsProvider with Spring, "
+ "to be properly understood by the framework."),
+ NON_UNIQUE_LOGICAL_TYPE_NAME_OR_ALIAS("Logical type name (or alias) ${logicalTypeName} "
+ + "mapped to multiple non-abstract classes:\n"
+ + "${csv}"),
;
private final String template;
public String getMessage(final Identifier featureIdentifier) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
index c71aff30c7f..876701df0da 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
@@ -190,11 +190,6 @@ public ManagedObject lookupServiceAdapterById(final String serviceId) {
// -- LOOKUP
- @Override
- public T getSingletonElseFail(final Class type) {
- return getSystemEnvironment().ioc().getSingletonElseFail(type);
- }
-
private Stream streamSingletons() {
val fields = Stream.of(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/HasMetaModelContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/HasMetaModelContext.java
index 8b402fb258f..6917a53c084 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/HasMetaModelContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/HasMetaModelContext.java
@@ -136,10 +136,6 @@ default ManagedObject lookupServiceAdapterById(final String serviceId) {
return getMetaModelContext().lookupServiceAdapterById(serviceId);
}
- default T getSingletonElseFail(final Class type) {
- return getMetaModelContext().getSingletonElseFail(type);
- }
-
default Stream streamServiceAdapters() {
return getMetaModelContext().streamServiceAdapters();
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext.java
index 60031413456..3bf2024b061 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext.java
@@ -75,11 +75,11 @@ public interface MetaModelContext {
SpecificationLoader getSpecificationLoader();
- public default Optional specForType(final @Nullable Class> type) {
+ default Optional specForType(final @Nullable Class> type) {
return getSpecificationLoader().specForType(type);
}
- public default ObjectSpecification specForTypeElseFail(final @Nullable Class> type) {
+ default ObjectSpecification specForTypeElseFail(final @Nullable Class> type) {
return getSpecificationLoader().specForTypeElseFail(type);
}
@@ -105,28 +105,18 @@ public default ObjectSpecification specForTypeElseFail(final @Nullable Class>
ManagedObject getHomePageAdapter();
+ // cannot move to ServiceRegistry, because applib does not know ManagedObject
Stream streamServiceAdapters();
+ // cannot move to ServiceRegistry, because applib does not know ManagedObject
ManagedObject lookupServiceAdapterById(String serviceId);
- /**
- * Requires that there is AT LEAST one implementation of the service, and returns it.
- *
- *
- * If there is more than one implementation, then the one with the "highest"
- * priority (either annotated with {@link org.springframework.context.annotation.Primary},
- * else with encountered with earliest {@link org.apache.isis.applib.annotation.PriorityPrecedence precedence})
- * is used instead.
- *
- *
- * @param type
- * @param
- */
- T getSingletonElseFail(Class type);
-
/**
* Recovers an object (graph) from given {@code bookmark}.
- * Also resolves injection-points for the result.
+ *
+ * Resolves injection-points for the result.
+ *
+ * Supports alias lookup.
*/
default Optional loadObject(final @Nullable Bookmark bookmark) {
if(bookmark==null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext_usingIoc.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext_usingIoc.java
index 01c0cd56a2a..cce36b1edcb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext_usingIoc.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContext_usingIoc.java
@@ -132,11 +132,6 @@ public MetaModelContext_usingIoc(final _IocContainer iocContainer) {
getSingletonElseFail(MemberExecutorService.class);
-// @Override
-// public final TransactionState getTransactionState() {
-// return getTransactionService().currentTransactionState();
-// }
-
@Override
public final ManagedObject getHomePageAdapter() {
final Object pojo = getHomePageResolverService().getHomePage();
@@ -155,16 +150,12 @@ public ManagedObject lookupServiceAdapterById(final String serviceId) {
return objectAdaptersForBeansOfKnownSort.get().get(serviceId);
}
- // -- LOOKUP
+ // -- HELPER
- @Override
- public T getSingletonElseFail(final Class type) {
+ private T getSingletonElseFail(final Class type) {
return iocContainer.getSingletonElseFail(type);
}
-
- // -- HELPER
-
private final _Lazy> objectAdaptersForBeansOfKnownSort =
_Lazy.threadSafe(this::collectBeansOfKnownSort);
@@ -177,15 +168,12 @@ private Map collectBeansOfKnownSort() {
}
private ManagedObject toManagedObject(final _ManagedBeanAdapter managedBeanAdapter) {
-
val servicePojo = managedBeanAdapter.getInstance().getFirst()
.orElseThrow(()->_Exceptions.unrecoverableFormatted(
"Cannot get service instance of type '%s'",
managedBeanAdapter.getBeanClass()));
return ManagedObject.lazy(getSpecificationLoader(), servicePojo);
-
}
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/TypeOfFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/TypeOfFacetAbstract.java
index 9e4bab52976..92dfe361998 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/TypeOfFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/TypeOfFacetAbstract.java
@@ -30,7 +30,7 @@ private static final Class extends Facet> type() {
return TypeOfFacet.class;
}
- public TypeOfFacetAbstract(final Class> type, final FacetHolder holder) {
+ protected TypeOfFacetAbstract(final Class> type, final FacetHolder holder) {
super(type(), holder, type);
}
diff --git a/persistence/jdo/provider/src/main/java/org/apache/isis/persistence/jdo/provider/metamodel/facets/object/discriminator/JdoDiscriminatorFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/TypeOfFacetFromActionReturn.java
similarity index 72%
rename from persistence/jdo/provider/src/main/java/org/apache/isis/persistence/jdo/provider/metamodel/facets/object/discriminator/JdoDiscriminatorFacet.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/TypeOfFacetFromActionReturn.java
index 92899efb6a5..7b414cbb51f 100644
--- a/persistence/jdo/provider/src/main/java/org/apache/isis/persistence/jdo/provider/metamodel/facets/object/discriminator/JdoDiscriminatorFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actcoll/typeof/TypeOfFacetFromActionReturn.java
@@ -16,10 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.persistence.jdo.provider.metamodel.facets.object.discriminator;
+package org.apache.isis.core.metamodel.facets.actcoll.typeof;
-import org.apache.isis.core.metamodel.facets.SingleValueFacet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-public interface JdoDiscriminatorFacet extends SingleValueFacet {
+public class TypeOfFacetFromActionReturn
+extends TypeOfFacetAbstract {
+
+ public TypeOfFacetFromActionReturn(final Class> type, final FacetHolder holder) {
+ super(type, holder);
+ }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
index 5c4bca5edfb..2fd7fd93766 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
@@ -84,7 +84,7 @@ private MetaModelValidator newValidatorVisitor(final MetaModelContext mmc) {
@Override
public void validate(final @NonNull ObjectSpecification spec) {
- if(spec.isManagedBean()) {
+ if(spec.isInjectable()) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
similarity index 60%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForDomainObjectAnnotation.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
index fba65794148..975d7999ed9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForDomainObjectAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
@@ -16,36 +16,45 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.core.metamodel.facets.object.domainobject.logicaltype;
+package org.apache.isis.core.metamodel.facets.object.domainobject;
import java.util.Optional;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.id.LogicalType;
-import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacetAbstract;
+import org.apache.isis.core.metamodel.facets.object.domainservice.annotation.AliasedFacetForDomainServiceAnnotation;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacet;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacetAbstract;
-public class LogicalTypeFacetForDomainObjectAnnotation
-extends LogicalTypeFacetAbstract {
+/**
+ * AliasedFacet based on presence of {@link DomainObject#aliased()}.
+ *
+ * Analogous to {@link AliasedFacetForDomainServiceAnnotation}.
+ * @see AliasedFacetForDomainServiceAnnotation
+ */
+public class AliasedFacetForDomainObjectAnnotation
+extends AliasedFacetAbstract {
- public static Optional create(
+ public static Optional create(
final Optional domainObjectIfAny,
final Class> correspondingClass,
final FacetHolder holder) {
return domainObjectIfAny
- .map(annot->annot.logicalTypeName())
- .filter(_Strings::isNotEmpty)
- .map(logicalTypeName -> new LogicalTypeFacetForDomainObjectAnnotation(
- LogicalType.eager(correspondingClass, logicalTypeName),
+ .map(annot->annot.aliased())
+ .map(Can::ofArray)
+ .filter(Can::isNotEmpty)
+ .map(aliasNames -> new AliasedFacetForDomainObjectAnnotation(
+ aliasNames
+ .map(aliasName->LogicalType.eager(correspondingClass, aliasName)),
holder));
}
- private LogicalTypeFacetForDomainObjectAnnotation(
- final LogicalType logicalType,
+ private AliasedFacetForDomainObjectAnnotation(
+ final Can aliases,
final FacetHolder holder) {
- super(logicalType, holder);
+ super(aliases, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index b32698b0434..d3cca69c493 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -21,10 +21,12 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Action;
@@ -47,6 +49,7 @@
import org.apache.isis.applib.mixins.system.HasInteractionId;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Multimaps;
+import org.apache.isis.core.config.progmodel.ProgrammingModelConstants;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
@@ -71,7 +74,6 @@
import org.apache.isis.core.metamodel.facets.object.domainobject.editing.ImmutableFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.entitychangepublishing.EntityChangePublishingFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.introspection.IntrospectionPolicyFacetForDomainObjectAnnotation;
-import org.apache.isis.core.metamodel.facets.object.domainobject.logicaltype.LogicalTypeFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.mixin.MetaModelValidatorForMixinTypes;
import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacetForDomainObjectAnnotation;
@@ -112,7 +114,8 @@ public DomainObjectAnnotationFacetFactory(
public void process(final ProcessObjectTypeContext processClassContext) {
val domainObjectIfAny = processClassContext.synthesizeOnType(DomainObject.class);
- processLogicalTypeName(domainObjectIfAny, processClassContext);
+ processAliased(domainObjectIfAny, processClassContext);
+ processIntrospecion(domainObjectIfAny, processClassContext);
// conflicting type semantics validation ...
validateConflictingTypeSemantics(domainObjectIfAny, processClassContext);
@@ -166,7 +169,8 @@ private void validateConflictingTypeSemantics(
}
if(domainObject.nature().isMixin()
- && _Strings.isNotEmpty(domainObject.logicalTypeName())) {
+ && (_Strings.isNotEmpty(domainObject.logicalTypeName())
+ || processClassContext.synthesizeOnType(Named.class).isPresent())) {
// just a console warning, not decided yet whether we should be strict and fail MM validation
log.warn("Mixins don't need a logicalTypeName, as was declared with {}.", cls.getName());
}
@@ -311,8 +315,8 @@ void processEditing(
.create(domainObjectIfAny, getConfiguration(), facetHolder));
}
- // check from @DomainObject(logicalTypeName=...)
- void processLogicalTypeName(
+ // check from @DomainObject(aliased=...)
+ void processAliased(
final Optional domainObjectIfAny,
final ProcessObjectTypeContext processClassContext) {
@@ -320,16 +324,25 @@ void processLogicalTypeName(
val facetHolder = processClassContext.getFacetHolder();
FacetUtil.addFacetIfPresent(
- LogicalTypeFacetForDomainObjectAnnotation
+ AliasedFacetForDomainObjectAnnotation
.create(domainObjectIfAny, cls, facetHolder));
+ }
+
+ // check from @DomainObject(introspection=...)
+ void processIntrospecion(
+ final Optional domainObjectIfAny,
+ final ProcessObjectTypeContext processClassContext) {
+
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
FacetUtil.addFacetIfPresent(
IntrospectionPolicyFacetForDomainObjectAnnotation
.create(domainObjectIfAny, cls, facetHolder));
-
}
+
void processNature(
final Optional domainObjectIfAny,
final ProcessClassContext processClassContext) {
@@ -574,68 +587,70 @@ public void refineProgrammingModel(final ProgrammingModel programmingModel) {
addValidatorToEnsureUniqueLogicalTypeNames(programmingModel);
}
- private void addValidatorToEnsureUniqueLogicalTypeNames(final ProgrammingModel pm) {
+ private void addValidatorToEnsureUniqueLogicalTypeNames(final ProgrammingModel programmingModel) {
- final _Multimaps.ListMultimap collidingSpecsByLogicalTypeName =
- _Multimaps.newConcurrentListMultimap();
+ programmingModel
+ .addValidator(
+ new MetaModelVisitingValidatorAbstract(programmingModel.getMetaModelContext()){
- final MetaModelVisitingValidatorAbstract ensureUniqueObjectIds =
- new MetaModelVisitingValidatorAbstract(pm.getMetaModelContext()){
+ final _Multimaps.ListMultimap specsByLogicalTypeName =
+ _Multimaps.newConcurrentListMultimap();
- @Override
- public void validate(final ObjectSpecification objSpec) {
+ @Override
+ public void validate(final ObjectSpecification objSpec) {
- // @DomainObject(logicalTypeName=...) must be unique among non-abstract types
- // Eg. having an ApplicationUser interface and a concrete ApplicationUser (JDO)
- // that have the same @DomainObject(logicalTypeName=...) should be allowed.
- // A hard constraint that applies, is that there cannot be multiple bookmark-able
- // types that share the same @DomainObject(logicalTypeName=...).
- // This must be guaranteed by MM validation.
- // - see also LogicalTypeResolver.register(...)
+ // @DomainObject(logicalTypeName=...) must be unique among non-abstract types
+ // Eg. having an ApplicationUser interface and a concrete ApplicationUser (JDO)
+ // that have the same @DomainObject(logicalTypeName=...) should be allowed.
+ // A hard constraint that applies, is that there cannot be multiple bookmark-able
+ // types that share the same @DomainObject(logicalTypeName=...).
+ // This must be guaranteed by MM validation.
+ // - see also LogicalTypeResolver.register(...)
- if(objSpec.isAbstract()) {
- return;
- }
- collidingSpecsByLogicalTypeName.putElement(objSpec.getLogicalTypeName(), objSpec);
+ if(objSpec.isAbstract()) {
+ return;
}
-
- @Override
- public void summarize() {
- for (val logicalTypeName : collidingSpecsByLogicalTypeName.keySet()) {
- val collidingSpecs = collidingSpecsByLogicalTypeName.get(logicalTypeName);
- if(isObjectTypeCollision(collidingSpecs)) {
- val csv = asCsv(collidingSpecs);
-
- collidingSpecs.forEach(spec->{
- ValidationFailure.raiseFormatted(
- spec,
- "Logical type name '%s' mapped to multiple non-abstract classes:\n"
- + "%s",
- logicalTypeName,
- csv);
- });
-
-
- }
+ specsByLogicalTypeName.putElement(objSpec.getLogicalTypeName(), objSpec);
+
+ // also adding aliases to the multi-map
+ objSpec.getAliases()
+ .forEach(alias->
+ specsByLogicalTypeName.putElement(alias.getLogicalTypeName(), objSpec));
+ }
+
+ @Override
+ public void summarize() {
+
+ specsByLogicalTypeName.forEach((logicalTypeName, collidingSpecs)->{
+ if(isObjectTypeCollision(collidingSpecs)) {
+ val csv = asCsv(collidingSpecs);
+ collidingSpecs.forEach(spec->{
+ ValidationFailure.raiseFormatted(spec,
+ ProgrammingModelConstants.Validation
+ .NON_UNIQUE_LOGICAL_TYPE_NAME_OR_ALIAS
+ .getMessage(Map.of(
+ "logicalTypeName", spec.getLogicalTypeName(),
+ "csv", csv)));
+ });
}
- // so can be revalidated again if necessary.
- collidingSpecsByLogicalTypeName.clear();
- }
+ });
- private boolean isObjectTypeCollision(final List specs) {
- return specs.size()>1;
- }
+ // clean-up
+ specsByLogicalTypeName.clear();
+ }
- private String asCsv(final List specList) {
- return stream(specList)
- .map(ObjectSpecification::getFullIdentifier)
- .sorted()
- .collect(Collectors.joining(", "));
- }
+ private boolean isObjectTypeCollision(final List specs) {
+ return specs.size()>1;
+ }
- };
+ private String asCsv(final List specList) {
+ return stream(specList)
+ .map(ObjectSpecification::getFullIdentifier)
+ .sorted()
+ .collect(Collectors.joining(", "));
+ }
- pm.addValidator(ensureUniqueObjectIds);
+ });
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForLogicalTypeNameAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForLogicalTypeNameAnnotationFacetFactory.java
deleted file mode 100644
index 3f8929172ab..00000000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForLogicalTypeNameAnnotationFacetFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.core.metamodel.facets.object.domainobject.logicaltype;
-
-import javax.inject.Inject;
-
-import org.apache.isis.applib.annotation.LogicalTypeName;
-import org.apache.isis.core.metamodel.commons.ClassExtensions;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.methods.MethodByClassMap;
-
-import lombok.val;
-
-public class LogicalTypeFacetForLogicalTypeNameAnnotationFacetFactory
-extends FacetFactoryAbstract {
-
- @Inject
- public LogicalTypeFacetForLogicalTypeNameAnnotationFacetFactory(
- final MetaModelContext mmc,
- final MethodByClassMap postConstructMethodsCache) {
- super(mmc, FeatureType.OBJECTS_ONLY);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- val logicalTypeNameIfAny = processClassContext.synthesizeOnType(LogicalTypeName.class);
- val cls = processClassContext.getCls();
-
- if(cls.isInterface()
- || ClassExtensions.isAbstract(cls)) {
-
- val facetHolder = processClassContext.getFacetHolder();
-
- FacetUtil.addFacetIfPresent(
- LogicalTypeFacetForLogicalTypeNameAnnotation
- .create(logicalTypeNameIfAny, cls, facetHolder));
-
- }
-
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForLogicalTypeNameAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/AliasedFacetForDomainServiceAnnotation.java
similarity index 51%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForLogicalTypeNameAnnotation.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/AliasedFacetForDomainServiceAnnotation.java
index 602abab0597..1f9e28c84c2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/logicaltype/LogicalTypeFacetForLogicalTypeNameAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/AliasedFacetForDomainServiceAnnotation.java
@@ -16,37 +16,45 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.core.metamodel.facets.object.domainobject.logicaltype;
+package org.apache.isis.core.metamodel.facets.object.domainservice.annotation;
import java.util.Optional;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.id.LogicalType;
-import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacetAbstract;
+import org.apache.isis.core.metamodel.facets.object.domainobject.AliasedFacetForDomainObjectAnnotation;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacet;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacetAbstract;
-public class LogicalTypeFacetForLogicalTypeNameAnnotation
-extends LogicalTypeFacetAbstract {
+/**
+ * AliasedFacet based on presence of {@link DomainService#aliased()}.
+ *
+ * Analogous to {@link AliasedFacetForDomainServiceAnnotation}.
+ * @see AliasedFacetForDomainObjectAnnotation
+ */
+public class AliasedFacetForDomainServiceAnnotation
+extends AliasedFacetAbstract {
- public static Optional create(
- final Optional logicalTypeIfAny,
+ public static Optional create(
+ final Optional domainServiceIfAny,
final Class> correspondingClass,
final FacetHolder holder) {
- return logicalTypeIfAny
- .map(annot->annot.value())
- .filter(_Strings::isNotEmpty)
- .map(logicalTypeName -> new LogicalTypeFacetForLogicalTypeNameAnnotation(
- LogicalType.eager(correspondingClass, logicalTypeName),
+ return domainServiceIfAny
+ .map(annot->annot.aliased())
+ .map(Can::ofArray)
+ .filter(Can::isNotEmpty)
+ .map(aliasNames -> new AliasedFacetForDomainServiceAnnotation(
+ aliasNames
+ .map(aliasName->LogicalType.eager(correspondingClass, aliasName)),
holder));
}
- private LogicalTypeFacetForLogicalTypeNameAnnotation(
- final LogicalType logicalType,
+ private AliasedFacetForDomainServiceAnnotation(
+ final Can aliases,
final FacetHolder holder) {
- // Precedence.LOW ensures, to get overruled by @DomainObject(logicalTypeName=...)
- super(logicalType, holder, Precedence.LOW);
+ super(aliases, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
index 2043d127e4e..6226116076d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
@@ -52,9 +52,13 @@ public void process(final ProcessClassContext processClassContext) {
}
val facetHolder = processClassContext.getFacetHolder();
addFacet(
- new DomainServiceFacetAnnotation(
+ new DomainServiceFacetForAnnotation(
facetHolder,
domainServiceIfAny.get().nature()));
+
+ addFacetIfPresent(
+ AliasedFacetForDomainServiceAnnotation
+ .create(domainServiceIfAny, processClassContext.getCls(), facetHolder));
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
similarity index 90%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotation.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
index 46370483250..982f7628804 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
@@ -18,15 +18,14 @@
*/
package org.apache.isis.core.metamodel.facets.object.domainservice.annotation;
-
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacetAbstract;
+public class DomainServiceFacetForAnnotation
+extends DomainServiceFacetAbstract {
-public class DomainServiceFacetAnnotation extends DomainServiceFacetAbstract {
-
- public DomainServiceFacetAnnotation(
+ public DomainServiceFacetForAnnotation(
final FacetHolder facetHolder,
final NatureOfService natureOfService) {
super(facetHolder, natureOfService);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/AliasedFacet.java
similarity index 77%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacet.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/AliasedFacet.java
index 3c615f49c52..1ec8aa8baab 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/AliasedFacet.java
@@ -18,15 +18,16 @@
*/
package org.apache.isis.core.metamodel.facets.object.logicaltype;
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.applib.id.LogicalType;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
/**
- * Corresponds to the value of {@link DomainObject#logicalTypeName()} or
- * {@link LogicalTypeName#value()}, that specifies the logical type name
- * of a domain object.
+ * Corresponds to the value of {@link Named#value()},
+ * that specifies the logical type name
+ * of a domain object or interface or abstract type.
*
* The logical type name must be unique, among non-abstract classes, but
* is allowed to be shared with interfaces and abstract classes.
@@ -44,12 +45,8 @@
* in principle allowed to share the same logical type-name. In which case reverse
* lookup from logical-type-name to type must always resolve the most specific one (B).
*/
-public interface LogicalTypeFacet extends Facet {
-
- LogicalType getLogicalType();
+public interface AliasedFacet extends Facet {
- default String value() {
- return getLogicalType().getLogicalTypeName();
- }
+ Can getAliases();
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/AliasedFacetAbstract.java
similarity index 69%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacetAbstract.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/AliasedFacetAbstract.java
index 29ab26e3b5d..a79bcf4a00f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/AliasedFacetAbstract.java
@@ -21,6 +21,7 @@
import java.util.function.BiConsumer;
import org.apache.isis.applib.id.LogicalType;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,36 +29,35 @@
import lombok.Getter;
import lombok.NonNull;
-public abstract class LogicalTypeFacetAbstract
+public abstract class AliasedFacetAbstract
extends FacetAbstract
-implements LogicalTypeFacet {
+implements AliasedFacet {
private static final Class extends Facet> type() {
- return LogicalTypeFacet.class;
+ return AliasedFacet.class;
}
@Getter(onMethod_ = {@Override})
- private final @NonNull LogicalType logicalType;
+ private final @NonNull Can aliases;
- protected LogicalTypeFacetAbstract(
- final LogicalType logicalType,
+ protected AliasedFacetAbstract(
+ final Can aliases,
final FacetHolder holder) {
- super(LogicalTypeFacetAbstract.type(), holder);
- this.logicalType = logicalType;
+ super(AliasedFacetAbstract.type(), holder);
+ this.aliases = aliases;
}
- protected LogicalTypeFacetAbstract(
- final LogicalType logicalType,
+ protected AliasedFacetAbstract(
+ final Can aliases,
final FacetHolder holder,
final Facet.Precedence precedence) {
- super(LogicalTypeFacetAbstract.type(), holder, precedence);
- this.logicalType = logicalType;
+ super(AliasedFacetAbstract.type(), holder, precedence);
+ this.aliases = aliases;
}
@Override
public void visitAttributes(final BiConsumer visitor) {
super.visitAttributes(visitor);
- visitor.accept("logicalTypeName", logicalType.getLogicalTypeName());
- visitor.accept("logicalTypeCorrespondingClass", logicalType.getCorrespondingClass().getName());
+ visitor.accept("aliases", aliases);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java
index e33fb6c7f53..bcb1facecec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java
@@ -45,16 +45,12 @@ public void refineProgrammingModel(final ProgrammingModel programmingModel) {
programmingModel.addVisitingValidator(spec->{
if(!spec.isEntityOrViewModel()
- && !spec.isManagedBean() ) {
+ && !spec.isInjectable() ) {
return;
}
- val logicalTypeFacet = spec.getFacet(LogicalTypeFacet.class);
- if(logicalTypeFacet == null) {
- return;
- }
-
- val logicalTypeName = logicalTypeFacet.value();
+ val logicalType = spec.getLogicalType();
+ val logicalTypeName = logicalType.getLogicalTypeName();
val nameParts = _Strings.splitThenStream(logicalTypeName, ".")
.collect(Can.toCan());
@@ -63,7 +59,7 @@ public void refineProgrammingModel(final ProgrammingModel programmingModel) {
|| nameParts.stream()
.anyMatch(String::isEmpty)) {
- val validationResponse = spec.isManagedBean()
+ val validationResponse = spec.isInjectable()
? ProgrammingModelConstants.Validation.DOMAIN_SERVICE_MISSING_A_NAMESPACE
: ProgrammingModelConstants.Validation.DOMAIN_OBJECT_MISSING_A_NAMESPACE;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassName.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassName.java
deleted file mode 100644
index 030d913fda8..00000000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassName.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.core.metamodel.facets.object.logicaltype.classname;
-
-import org.apache.isis.applib.id.LogicalType;
-import org.apache.isis.core.metamodel.commons.ClassUtil;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacetAbstract;
-
-public class LogicalTypeFacetFromClassName
-extends LogicalTypeFacetAbstract {
-
- public LogicalTypeFacetFromClassName(final Class> cls, final FacetHolder holder) {
- this(LogicalType.eager(cls, ClassUtil.getCanonicalName_friendlyToInnerClasses(cls)), holder);
- }
-
- public LogicalTypeFacetFromClassName(final LogicalType logicalType, final FacetHolder holder) {
- super(logicalType, holder, Precedence.INFERRED);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java
index bc205064660..b31573b37bf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java
@@ -23,16 +23,12 @@
import javax.inject.Inject;
import javax.xml.bind.annotation.XmlType;
-import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory;
import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
import org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorDefault;
import org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry;
@@ -69,49 +65,14 @@ public static LogicalTypeFacetFromClassNameFactory forTesting(
@Override
public void process(final ProcessObjectTypeContext processClassContext) {
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
- // don't trash existing facet
- if(facetHolder.containsNonFallbackFacet(LogicalTypeFacet.class)) {
- return;
- }
- val cls = processClassContext.getCls();
- val substitute = classSubstitutorRegistry.getSubstitution(cls);
- if(substitute.isNeverIntrospect()) {
- return;
- }
- FacetUtil.addFacet(
- createLogicalTypeFacet(facetHolder, substitute.apply(cls)));
+ // no-op.
}
@Override
public void process(final ProcessClassContext processClassContext) {
- // now a no-op.
- }
-
- private static LogicalTypeFacet createLogicalTypeFacet(
- final FacetHolder facetHolder,
- final Class> substitutedClass) {
-
- val serviceId = getServiceId(facetHolder);
- val isService = serviceId!=null;
-
- return isService
- ? new LogicalTypeFacetFromIoCNamingStrategy(
- LogicalType
- .eager(substitutedClass, serviceId),
- facetHolder)
- : new LogicalTypeFacetFromClassName(substitutedClass, facetHolder);
+ // no-op.
}
- private static String getServiceId(final FacetHolder facetHolder) {
- if(facetHolder instanceof ObjectSpecification) {
- ObjectSpecification objectSpecification = (ObjectSpecification) facetHolder;
- if(objectSpecification.isManagedBean()) {
- return objectSpecification.getManagedBeanName();
- }
- }
- return null;
- }
@Override
public void refineProgrammingModel(final ProgrammingModel programmingModel) {
@@ -127,8 +88,10 @@ public void refineProgrammingModel(final ProgrammingModel programmingModel) {
return;
}
- val logicalTypeFacet = objectSpec.getFacet(LogicalTypeFacet.class);
- if(logicalTypeFacet instanceof LogicalTypeFacetFromClassName) {
+ val logicalType = objectSpec.getLogicalType();
+
+ //XXX has a slight chance to be a false positive; would need to check whether annotated with @Named
+ if(logicalType.getClassName().equals(logicalType.getLogicalTypeName())) {
ValidationFailure.raiseFormatted(
objectSpec,
"%s: the object type must be specified explicitly ('%s' config property). "
@@ -168,7 +131,7 @@ public static boolean check(final ObjectSpecification objectSpec) {
if(objectSpec.isMixin()) {
return false; //skip validation
}
- if (objectSpec.isManagedBean()) {
+ if (objectSpec.isInjectable()) {
// only check if domain service is contributing to the public API (UI/REST)
if(!DomainServiceFacet.getNatureOfService(objectSpec).isPresent()) {
return false; //skip validation
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
index e54a230f801..90492a9dc9a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
@@ -42,7 +42,6 @@
import org.apache.isis.core.metamodel.facets.object.value.TypicalLengthFacetFromValueFacet;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProvider;
-import org.apache.isis.core.metamodel.facets.value.annotation.LogicalTypeFacetForValueAnnotation;
import org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault;
import lombok.AccessLevel;
@@ -87,14 +86,7 @@ public void process(final ProcessClassContext processClassContext) {
val facetHolder = processClassContext.getFacetHolder();
val valueIfAny = processClassContext.synthesizeOnType(Value.class);
- val logicalTypeFacetIfAny = addFacetIfPresent(
- LogicalTypeFacetForValueAnnotation
- .create(valueIfAny, valueClass, facetHolder));
-
- val logicalType = logicalTypeFacetIfAny
- .map(logicalTypeFacet->logicalTypeFacet.getLogicalType())
- .orElseGet(()->LogicalType.fqcn(valueClass));
-
+ val logicalType = LogicalType.infer(valueClass);
val identifier = Identifier.classIdentifier(logicalType);
val valueFacetIfAny = addAllFacetsForValueSemantics(identifier, valueClass, facetHolder, valueIfAny);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/propcoll/memserexcl/SnapshotExcludeFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/propcoll/memserexcl/SnapshotExcludeFacetAbstract.java
index 79080fdb98a..7674078a758 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/propcoll/memserexcl/SnapshotExcludeFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/propcoll/memserexcl/SnapshotExcludeFacetAbstract.java
@@ -22,7 +22,9 @@
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-public abstract class SnapshotExcludeFacetAbstract extends FacetAbstract implements SnapshotExcludeFacet {
+public abstract class SnapshotExcludeFacetAbstract
+extends FacetAbstract
+implements SnapshotExcludeFacet {
private static final Class extends Facet> type() {
return SnapshotExcludeFacet.class;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetterFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetterFacetFactory.java
index 40b304b5ce1..01971f48c1d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetterFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetterFacetFactory.java
@@ -40,7 +40,7 @@
/**
* Sets up the {@link PropertySetterFacetViaSetterMethod} to invoke the
* property's setter if available, but if none then marks the property as
- * {@link SnapshotExcludeFacetInferred not-persistable}.
+ * {@link SnapshotExcludeFacetFromImmutableMember not-persistable}.
*/
public class PropertySetterFacetFactory
extends MethodPrefixBasedFacetFactoryAbstract {
@@ -79,7 +79,7 @@ public void process(final ProcessMethodContext processMethodContext) {
});
} else {
- addFacet(new SnapshotExcludeFacetInferred(property));
+ addFacet(new SnapshotExcludeFacetFromImmutableMember(property));
// previously we also added the DisabledFacetAlwaysEverywhere facet here.
// however, the PropertyModifyFacetFactory (which comes next) might install a PropertySetterFacet instead.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/SnapshotExcludeFacetInferred.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/SnapshotExcludeFacetFromImmutableMember.java
similarity index 86%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/SnapshotExcludeFacetInferred.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/SnapshotExcludeFacetFromImmutableMember.java
index c452a6691dc..9242a8e6f78 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/SnapshotExcludeFacetInferred.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/SnapshotExcludeFacetFromImmutableMember.java
@@ -21,9 +21,10 @@
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.propcoll.memserexcl.SnapshotExcludeFacetAbstract;
-public class SnapshotExcludeFacetInferred extends SnapshotExcludeFacetAbstract {
+public class SnapshotExcludeFacetFromImmutableMember
+extends SnapshotExcludeFacetAbstract {
- public SnapshotExcludeFacetInferred(final FacetHolder holder) {
+ public SnapshotExcludeFacetFromImmutableMember(final FacetHolder holder) {
super(holder);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/annotation/LogicalTypeFacetForValueAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/annotation/LogicalTypeFacetForValueAnnotation.java
deleted file mode 100644
index a67f36564cc..00000000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/annotation/LogicalTypeFacetForValueAnnotation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.core.metamodel.facets.value.annotation;
-
-import java.util.Optional;
-
-import org.apache.isis.applib.annotation.Value;
-import org.apache.isis.applib.id.LogicalType;
-import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacetAbstract;
-
-public class LogicalTypeFacetForValueAnnotation
-extends LogicalTypeFacetAbstract {
-
- public static Optional create(
- final Optional valueIfAny,
- final Class> correspondingClass,
- final FacetHolder holder) {
-
- return valueIfAny
- .map(annot->annot.logicalTypeName())
- .filter(_Strings::isNotEmpty)
- .map(logicalTypeName -> new LogicalTypeFacetForValueAnnotation(
- LogicalType.eager(correspondingClass, logicalTypeName),
- holder));
- }
-
- private LogicalTypeFacetForValueAnnotation(
- final LogicalType logicalType,
- final FacetHolder holder) {
- super(logicalType, holder);
- }
-
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/annotation/ValueAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/annotation/ValueAnnotationFacetFactory.java
deleted file mode 100644
index fc0a85704f7..00000000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/annotation/ValueAnnotationFacetFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.core.metamodel.facets.value.annotation;
-
-import javax.inject.Inject;
-
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory;
-
-import lombok.val;
-
-public class ValueAnnotationFacetFactory
-extends FacetFactoryAbstract
-implements
- ObjectTypeFacetFactory {
-
- @Inject
- public ValueAnnotationFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY);
- }
-
- @Override
- public void process(final ProcessObjectTypeContext processClassContext) {
- val cls = processClassContext.getCls();
- val facetHolder = processClassContext.getFacetHolder();
-
- // @Value(logicalTypeName=...)
- val valueIfAny = processClassContext.synthesizeOnType(org.apache.isis.applib.annotation.Value.class);
- addFacetIfPresent(LogicalTypeFacetForValueAnnotation.create(valueIfAny, cls, facetHolder));
-
- }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ActionNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ActionNode.java
index 56e9649866d..94162ac5d6f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ActionNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ActionNode.java
@@ -20,6 +20,7 @@
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -37,9 +38,9 @@
import lombok.Setter;
import lombok.ToString;
+@Named(ActionNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = ActionNode.LOGICAL_TYPE_NAME,
introspection = Introspection.ANNOTATION_REQUIRED
)
@XmlRootElement
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/CollectionNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/CollectionNode.java
index 937188c1b2a..671df68fe3d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/CollectionNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/CollectionNode.java
@@ -20,6 +20,7 @@
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -37,9 +38,9 @@
import lombok.Setter;
import lombok.ToString;
+@Named(CollectionNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = CollectionNode.LOGICAL_TYPE_NAME,
introspection = Introspection.ANNOTATION_REQUIRED
)
@XmlRootElement
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetAttrNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetAttrNode.java
index fedfd1eaec0..04f0f4634b3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetAttrNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetAttrNode.java
@@ -20,6 +20,7 @@
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -37,9 +38,9 @@
import lombok.Setter;
import lombok.ToString;
+@Named(FacetAttrNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = FacetAttrNode.LOGICAL_TYPE_NAME,
introspection = Introspection.ANNOTATION_REQUIRED
)
@XmlRootElement
@@ -72,6 +73,5 @@ public Stream streamChildNodes() {
return Stream.empty();
}
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetGroupNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetGroupNode.java
index 8f4d28ae01a..ac229221f21 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetGroupNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetGroupNode.java
@@ -20,6 +20,7 @@
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -38,9 +39,9 @@
import lombok.Setter;
import lombok.ToString;
+@Named(FacetGroupNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = FacetGroupNode.LOGICAL_TYPE_NAME,
introspection = Introspection.ANNOTATION_REQUIRED
)
@XmlRootElement
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetNode.java
index 5b1fae93471..a7f19b36e77 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/FacetNode.java
@@ -21,6 +21,7 @@
import java.util.Optional;
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -41,9 +42,9 @@
import lombok.ToString;
import lombok.val;
+@Named(FacetNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = FacetNode.LOGICAL_TYPE_NAME,
introspection = Introspection.ANNOTATION_REQUIRED
)
@XmlRootElement
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ParameterNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ParameterNode.java
index 168105ccea9..0c2baa00e53 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ParameterNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/ParameterNode.java
@@ -20,6 +20,7 @@
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -37,9 +38,9 @@
import lombok.Setter;
import lombok.ToString;
+@Named(ParameterNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = ParameterNode.LOGICAL_TYPE_NAME,
introspection = Introspection.ANNOTATION_REQUIRED
)
@XmlRootElement
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/PropertyNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/PropertyNode.java
index b8e1f4a26fc..35ff89aa7e6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/PropertyNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/PropertyNode.java
@@ -20,6 +20,7 @@
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -36,11 +37,10 @@
import lombok.Setter;
import lombok.ToString;
+@Named(PropertyNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = PropertyNode.LOGICAL_TYPE_NAME,
- introspection = Introspection.ANNOTATION_REQUIRED
-)
+ introspection = Introspection.ANNOTATION_REQUIRED)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@ToString
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/TypeNode.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/TypeNode.java
index 8bccc1b0950..7e9e81dd763 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/TypeNode.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/inspect/model/TypeNode.java
@@ -20,6 +20,7 @@
import java.util.stream.Stream;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -38,11 +39,10 @@
import lombok.Setter;
import lombok.ToString;
+@Named(TypeNode.LOGICAL_TYPE_NAME)
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = TypeNode.LOGICAL_TYPE_NAME,
- introspection = Introspection.ANNOTATION_REQUIRED
-)
+ introspection = Introspection.ANNOTATION_REQUIRED)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@ToString
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodPrefixBasedFacetFactoryAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodPrefixBasedFacetFactoryAbstract.java
index 521f2d9a694..c5f62963567 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodPrefixBasedFacetFactoryAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodPrefixBasedFacetFactoryAbstract.java
@@ -82,7 +82,7 @@ public String toString() {
@Override
public void validate(final ObjectSpecification spec) {
- if(spec.isManagedBean()) {
+ if(spec.isInjectable()) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectBookmarker_builtinHandlers.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectBookmarker_builtinHandlers.java
index 7236fb567f3..4d65939d6ad 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectBookmarker_builtinHandlers.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectBookmarker_builtinHandlers.java
@@ -63,7 +63,7 @@ static class BookmarkForServices implements Handler {
@Override
public boolean isHandling(final ManagedObject managedObject) {
- return managedObject.getSpecification().isManagedBean();
+ return managedObject.getSpecification().isInjectable();
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java
index 64d9f38aaa0..57e9879dd08 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java
@@ -82,7 +82,7 @@ public static class LoadService implements ObjectLoader.Handler {
public boolean isHandling(final ObjectLoader.Request objectLoadRequest) {
val spec = objectLoadRequest.getObjectSpecification();
- return spec.isManagedBean();
+ return spec.isInjectable();
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/SynthesizeObjectNamingPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/SynthesizeObjectNamingPostProcessor.java
index 4e2a3a0614b..d1d54efb217 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/SynthesizeObjectNamingPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/SynthesizeObjectNamingPostProcessor.java
@@ -46,7 +46,7 @@ public SynthesizeObjectNamingPostProcessor(final MetaModelContext metaModelConte
protected void doPostProcess(final ObjectSpecification objectSpecification) {
if(!(objectSpecification.isEntityOrViewModelOrAbstract()
- || objectSpecification.isManagedBean())) {
+ || objectSpecification.isInjectable())) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.java
index a25bca5079d..98704382912 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModel.java
@@ -162,7 +162,7 @@ default void addVisitingValidatorSkipManagedBeans(
addValidator(new MetaModelVisitingValidatorAbstract(getMetaModelContext()) {
@Override
public void validate(final @NonNull ObjectSpecification spec) {
- if(spec.isManagedBean()) {
+ if(spec.isInjectable()) {
return;
}
validator.accept(spec);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
index a8dc92b7eb8..ae0a2e4b51a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
@@ -45,7 +45,6 @@
import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetFactory;
import org.apache.isis.core.metamodel.facets.object.choices.enums.ChoicesFacetFromEnumFactory;
import org.apache.isis.core.metamodel.facets.object.domainobject.DomainObjectAnnotationFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.domainobject.logicaltype.LogicalTypeFacetForLogicalTypeNameAnnotationFacetFactory;
import org.apache.isis.core.metamodel.facets.object.domainobjectlayout.DomainObjectLayoutFacetFactory;
import org.apache.isis.core.metamodel.facets.object.domainservice.annotation.DomainServiceFacetAnnotationFactory;
import org.apache.isis.core.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacetFactory;
@@ -191,8 +190,6 @@ private void addFacetFactories() {
addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new ViewModelFacetFactory(mmc, postConstructMethodsCache));
addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new JaxbFacetFactory(mmc));
- addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new LogicalTypeFacetForLogicalTypeNameAnnotationFacetFactory(mmc, postConstructMethodsCache));
-
// must come after RecreatableObjectFacetFactory
addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new DomainObjectAnnotationFacetFactory(mmc, postConstructMethodsCache));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServiceUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServiceUtil.java
index 836a6b2f8ea..a660f6db86e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServiceUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServiceUtil.java
@@ -18,7 +18,6 @@
*/
package org.apache.isis.core.metamodel.services;
-import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -28,10 +27,7 @@ private ServiceUtil() {
}
public static String idOfSpec(final ObjectSpecification serviceSpec) {
- _Assert.assertEquals(
- serviceSpec.getManagedBeanName(),
- serviceSpec.getLogicalTypeName());
- return serviceSpec.getManagedBeanName();
+ return serviceSpec.getLogicalTypeName();
}
public static String idOfAdapter(final ManagedObject serviceAdapter) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureDefault.java
index 98de5d91f99..2444d3240ce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureDefault.java
@@ -23,6 +23,8 @@
import java.util.OptionalInt;
import java.util.SortedSet;
+import javax.inject.Named;
+
import org.apache.isis.applib.IsisModuleApplib;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.annotation.Value;
@@ -50,7 +52,8 @@
* {@link ApplicationFeatureRepository}.
*
*/
-@Value(logicalTypeName = IsisModuleApplib.NAMESPACE + ".services.appfeat.ApplicationFeature")
+@Named(IsisModuleApplib.NAMESPACE + ".services.appfeat.ApplicationFeature")
+@Value
public class ApplicationFeatureDefault
implements
ApplicationFeature,
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
index 61f37ab387c..74b221713c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
@@ -95,7 +95,7 @@ public String getClassType() {
val isService = Stream.concat(
Stream.of(spec),
spec.subclasses(Hierarchical.Depth.DIRECT).stream())
- .anyMatch(ObjectSpecification::isManagedBean);
+ .anyMatch(ObjectSpecification::isInjectable);
return isService
? "2 Service"
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelExporter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelExporter.java
index 1b7c4b062f8..914357250c3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelExporter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelExporter.java
@@ -181,7 +181,7 @@ private DomainClassDto asXsdType(
domainClass.setId(specification.getFullIdentifier());
- if(specification.isManagedBean()) {
+ if(specification.isInjectable()) {
domainClass.setService(true);
}
@@ -203,7 +203,7 @@ private void addFacetsAndMembersTo(
return;
}
- if (specification.isManagedBean()) {
+ if (specification.isInjectable()) {
if(DomainServiceFacet.getNatureOfService(specification).isPresent()) {
addActions(specification, domainClassByObjectSpec, config);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java
index c6f75c2eb90..9f6df535260 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java
@@ -53,7 +53,7 @@ public final class ServiceRegistryDefault implements ServiceRegistry {
@Inject private IsisBeanTypeRegistry isisBeanTypeRegistry;
@Override
- public Optional<_ManagedBeanAdapter> lookupRegisteredBeanById(String id) {
+ public Optional<_ManagedBeanAdapter> lookupRegisteredBeanById(final String id) {
return Optional.ofNullable(managedBeansById.get().get(id));
}
@@ -68,37 +68,33 @@ public Stream<_ManagedBeanAdapter> streamRegisteredBeans() {
}
@Override
- public Can select(Class type, Annotation[] qualifiers) {
+ public Can select(final Class type, final Annotation[] qualifiers) {
return isisSystemEnvironment.getIocContainer()
.select(type, qualifiers);
}
+ @Override
+ public void clearRegisteredBeans() {
+ managedBeansById.clear();
+ }
+
// -- HELPER
private final _Lazy> managedBeansById =
_Lazy.threadSafe(this::enumerateManagedBeans);
private Map enumerateManagedBeans() {
-
val managedBeanAdapterByName = _Maps.newHashMap();
val managedBeansContributing = isisBeanTypeRegistry.getManagedBeansContributing().keySet();
- isisSystemEnvironment.getIocContainer().streamAllBeans()
+ isisSystemEnvironment.getIocContainer()
+ .streamAllBeans()
.filter(_NullSafe::isPresent)
.filter(bean->managedBeansContributing.contains(bean.getBeanClass())) // do not register unknown sort
- .forEach(bean->{
- val id = bean.getId();
- managedBeanAdapterByName.put(id, bean);
- });
+ .forEach(bean->
+ managedBeanAdapterByName.put(bean.getId(), bean));
return managedBeanAdapterByName;
}
- @Override
- public void clearRegisteredBeans() {
- managedBeansById.clear();
- }
-
-
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
index c2e5025c411..a2eb418e427 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
@@ -699,12 +699,27 @@ public static ManagedObject refetch(final @Nullable ManagedObject managedObject)
val objectManager = managedObject.getObjectManager();
val reattached = bookmark(managedObject)
- .map(bookmark->objectManager.loadObject(
+ .map(bookmark->
ObjectLoader.Request.of(
spec,
- bookmark)))
+ bookmark))
+ .map(loadRequest->Try.call(
+ ()->objectManager.loadObject(loadRequest)))
+ .map(loadResult->
+ // a valid scenario for entities: not found eg. after deletion,
+ // which will fail the load request
+ loadResult.isFailure()
+ ? ManagedObject.empty(managedObject.getSpecification())
+ : loadResult.getValue().get()
+ )
.orElse(managedObject);
+ // handles deleted entities
+ if(isNullOrUnspecifiedOrEmpty(reattached)) {
+ // returns the 'emptied' ManagedObject from above
+ return reattached;
+ }
+
val newState = EntityUtil.getEntityState(reattached);
_Assert.assertTrue(newState.isAttached());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
index 109cccd6dd2..0a7c6714871 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
@@ -29,9 +29,13 @@
import org.springframework.lang.Nullable;
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.exceptions.UnrecoverableException;
import org.apache.isis.applib.id.HasLogicalType;
+import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.applib.services.metamodel.BeanSort;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Streams;
import org.apache.isis.commons.internal.exceptions._Exceptions;
@@ -169,7 +173,6 @@ public default Optional lookupMixedInAction(final ObjectSpe
/**
* Returns an (immutable) "full" identifier for this specification.
- *
*
* This will be the fully qualified name of the Class object that this
* object represents (i.e. it includes the package name).
@@ -178,13 +181,21 @@ public default Optional lookupMixedInAction(final ObjectSpe
/**
* Returns an (immutable) "short" identifier for this specification.
- *
*
* This will be the class name without the package; any text up to and
* including the last period is removed.
*/
String getShortIdentifier();
+ /**
+ * Immutable set of {@link LogicalType} aliases for corresponding
+ * domain object or service.
+ *
+ * Corresponds to {@link DomainService#aliased()} and
+ * {@link DomainObject#aliased()}.
+ */
+ Can getAliases();
+
/**
* Returns the (singular) name for objects of this specification.
*
@@ -385,16 +396,7 @@ default boolean isValueOrIsParented() {
* Whether this specification represents a bean, that is a managed bean
* with scoped life-cycle, available for dependency injection.
*/
- default boolean isManagedBean() {
- return getManagedBeanName()!=null;
- }
-
- /**
- * If this specification represents a bean, that is a managed bean, then
- * returns the bean's name/id as recognized by the IoC container.
- *
Otherwise returns {@code null}.
- */
- String getManagedBeanName();
+ boolean isInjectable();
default boolean isMixin() {
return getBeanSort().isMixin();
@@ -481,7 +483,7 @@ default Stream streamFacetHolders(){
* @since 2.0
*/
default boolean isIdentifiable() {
- return isManagedBean() || isViewModel() || isEntity();
+ return isInjectable() || isViewModel() || isEntity();
}
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
index d71a089f122..905d19d5d6a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
@@ -263,7 +263,7 @@ default ActionMemento getMemento() {
default PromptStyle getPromptStyle() {
val promptStyle = lookupFacet(PromptStyleFacet.class)
.map(PromptStyleFacet::value);
- if(getDeclaringType().isManagedBean() // <-- menu actions
+ if(getDeclaringType().isInjectable() // <-- menu actions
// no-arg DIALOG is correctly handled,
// whereas for INLINE it would render a form with no fields
|| getParameterCount() == 0) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolver.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolver.java
index eea39ba3484..720c70c20bd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolver.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolver.java
@@ -47,13 +47,23 @@ interface LogicalTypeResolver {
/**
* Collects concrete types, ignores abstract types and interfaces.
* Allows types to override their concrete super types.
+ *
+ * Acts as an identity operator with side-effects.
* @param spec - type's ObjectSpecification
*/
- void register(@NonNull ObjectSpecification spec);
+ ObjectSpecification register(@NonNull ObjectSpecification spec);
/**
* Removes all entries from the lookup table.
*/
void clear();
+ /**
+ * Collects aliases for concrete types, ignores abstract types and interfaces.
+ *
+ * Acts as an identity operator with side-effects.
+ * @param spec - type's ObjectSpecification
+ */
+ ObjectSpecification registerAliases(@NonNull ObjectSpecification spec);
+
}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolverDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolverDefault.java
index ce7a271a8b6..8336b837bd7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolverDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/LogicalTypeResolverDefault.java
@@ -23,7 +23,6 @@
import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import lombok.NonNull;
@@ -46,38 +45,62 @@ public Optional lookup(final @NonNull String logicalTypeName) {
}
@Override
- public void register(final @NonNull ObjectSpecification spec) {
+ public ObjectSpecification register(final @NonNull ObjectSpecification spec) {
- // collect concrete classes (do not collect abstract or anonymous types or interfaces)
- if(!spec.isAbstract()
- && hasUsableObjectTypeFacet(spec)) {
+ val logicalTypeName = spec.getLogicalTypeName();
- val key = spec.getLogicalTypeName();
+ if(logicalTypeByName.containsKey(logicalTypeName)) {
+ return spec;
+ }
- val previousMapping = logicalTypeByName.put(key, spec.getLogicalType());
+ // collect concrete classes (do not collect abstract or anonymous types or interfaces)
+ if(!spec.isAbstract()
+ && hasTypeIdentity(spec)) {
- if(previousMapping!=null) {
+ putWithWarnOnOverride(logicalTypeName, spec);
+ }
+ return spec;
+ }
- val msg = String.format("Overriding existing mapping\n"
- + "%s -> %s,\n"
- + "with\n "
- + "%s -> %s\n "
- + "This will result in the meta-model validation to fail.",
- key, previousMapping.getCorrespondingClass(),
- key, spec.getCorrespondingClass());
+ @Override
+ public ObjectSpecification registerAliases(final @NonNull ObjectSpecification spec) {
- log.warn(msg);
+ // adding aliases to the lookup map
+ spec.getAliases()
+ .forEach(alias->{
+ putWithWarnOnOverride(alias.getLogicalTypeName(), spec);
+ });
- }
- }
+ return spec;
}
// -- HELPER
- private boolean hasUsableObjectTypeFacet(ObjectSpecification spec) {
+ private boolean hasTypeIdentity(final ObjectSpecification spec) {
// anonymous inner classes (eg org.estatio.dom.WithTitleGetter$ToString$1)
- // don't have an ObjectType; hence the guard.
- return spec.containsNonFallbackFacet(LogicalTypeFacet.class);
+ // don't have type identity; hence the guard.
+ return spec.getCorrespondingClass().getCanonicalName()!=null;
+ }
+
+ private void putWithWarnOnOverride(
+ final String logicalTypeName,
+ final ObjectSpecification spec) {
+
+ final LogicalType previousMapping =
+ logicalTypeByName.put(logicalTypeName, spec.getLogicalType());
+
+ if(previousMapping!=null
+ && !spec.getLogicalType().equals(previousMapping)) {
+ val msg = String.format("Overriding existing mapping\n"
+ + "%s -> %s,\n"
+ + "with\n "
+ + "%s -> %s\n "
+ + "This will result in the meta-model validation to fail.",
+ logicalTypeName, previousMapping.getCorrespondingClass(),
+ logicalTypeName, spec.getCorrespondingClass());
+ log.warn(msg);
+ }
+
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index fe2f4c7e9e8..78a784d09c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -21,10 +21,11 @@
import java.util.Optional;
import java.util.function.Consumer;
+import javax.inject.Named;
+
import org.springframework.lang.Nullable;
import org.apache.isis.applib.Identifier;
-import org.apache.isis.applib.annotation.LogicalTypeName;
import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.commons.collections.Can;
@@ -150,7 +151,7 @@ default LogicalType lookupLogicalTypeElseFail(@NonNull final String logicalTypeN
/**
* The lookup may also fail (result with null), when there is no concrete or abstract resolvable type,
- * that matches given {@code logicalTypeName}. Eg. when using {@link LogicalTypeName} on an interface,
+ * that matches given {@code logicalTypeName}. Eg. when using {@link Named} on an interface,
* while overriding with a different logical-type-name on the concrete or abstract type.
*/
@Nullable
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
index 0b4dc8a6a86..57c4aafee19 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
@@ -239,7 +239,7 @@ public void createMetaModel() {
Stream
.concat(
- isisBeanTypeRegistry.getDiscoveredValueTypes().stream(),
+ isisBeanTypeRegistry.getDiscoveredValueTypes().keySet().stream(),
valueSemanticsResolver.get().streamClassesWithValueSemantics())
.forEach(valueType -> {
val valueSpec = loadSpecification(valueType, IntrospectionState.NOT_INTROSPECTED);
@@ -255,12 +255,9 @@ public void createMetaModel() {
val mixinSpecs = _Lists.newArrayList();
isisBeanTypeRegistry.streamIntrospectableTypes()
- .forEach(type->{
+ .forEach(typeMeta->{
- val cls = type.getCorrespondingClass();
- val sort = type.getBeanSort();
-
- val spec = primeSpecification(cls, sort);
+ val spec = primeSpecification(typeMeta);
if(spec==null) {
//XXX only ever happens when the class substitutor vetoes
return;
@@ -268,6 +265,8 @@ public void createMetaModel() {
knownSpecs.add(spec);
+ val sort = typeMeta.getBeanSort();
+
if(sort.isManagedBean() || sort.isEntity() || sort.isViewModel() ) {
domainObjectSpecs.add(spec);
} else if(sort.isMixin()) {
@@ -451,7 +450,7 @@ public Optional lookupLogicalType(final @NonNull String logicalType
return logicalType;
}
- //TODO[2533] if the logicalTypeName is not available and instead a fqcn was passed in, that should also be supported
+ //XXX[2533] if the logicalTypeName is not available and instead a fqcn was passed in, that should also be supported
// falling back assuming the logicalTypeName equals the fqn of the corresponding class
// which might not always be true,
@@ -524,30 +523,28 @@ private ValidationFailures collectFailuresFromMetaModel() {
* however as a fallback we might need to classify types that escaped eager introspection
* here.
*/
- private BeanSort classify(final @Nullable Class> type) {
+ private IsisBeanMetaData classify(final @Nullable Class> type) {
return isisBeanTypeRegistry
.lookupIntrospectableType(type)
- .map(IsisBeanMetaData::getBeanSort)
.orElseGet(()->
valueSemanticsResolver.get().hasValueSemantics(type)
- ? BeanSort.VALUE
+ ? IsisBeanMetaData.isisManaged(BeanSort.VALUE, LogicalType.infer(type))
: isisBeanTypeClassifier.classify(type)
- .getBeanSort()
);
}
@Nullable
private ObjectSpecification primeSpecification(
- final @Nullable Class> type,
- final @NonNull BeanSort sort) {
- return _loadSpecification(type, __->sort, IntrospectionState.NOT_INTROSPECTED);
+ final @NonNull IsisBeanMetaData typeMeta) {
+ return _loadSpecification(
+ typeMeta.getCorrespondingClass(), type->typeMeta, IntrospectionState.NOT_INTROSPECTED);
}
@Nullable
private ObjectSpecification _loadSpecification(
final @Nullable Class> type,
- final @NonNull Function, BeanSort> beanClassifier,
+ final @NonNull Function, IsisBeanMetaData> beanClassifier,
final @NonNull IntrospectionState upTo) {
if(type==null) {
@@ -561,14 +558,29 @@ private ObjectSpecification _loadSpecification(
val substitutedType = substitute.apply(type);
- final ObjectSpecification spec = cache.computeIfAbsent(substitutedType, __->{
- val newSpec = createSpecification(substitutedType, beanClassifier.apply(substitutedType));
- logicalTypeResolver.register(newSpec);
- return newSpec;
- });
+ val spec = cache.computeIfAbsent(substitutedType, _spec->
+ logicalTypeResolver
+ .register(
+ createSpecification(beanClassifier.apply(substitutedType))));
spec.introspectUpTo(upTo);
+ if(spec.getAliases().isNotEmpty()
+ // this bool. expr. is an optimization, not strictly required ... a bit of hack though
+ && upTo == IntrospectionState.TYPE_INTROSPECTED) {
+
+ //XXX[3063] hitting this a couple of times
+ //(~5 see org.apache.isis.testdomain.domainmodel.DomainModelTest_usingGoodDomain.aliasesOnDomainServices_shouldBeHonored())
+ // per spec (with aliases), even though already registered;
+ // room for performance optimizations, but at the time of writing
+ // don't want to add a ObjectSpecification flag to keep track of alias registered state;
+ // as an alternative purge the aliased facets and introspect aliased attributes from annotations
+ // much earlier in the bootstrap process, same as we do with @Named processing
+
+ logicalTypeResolver
+ .registerAliases(spec);
+ }
+
return spec;
}
@@ -591,18 +603,16 @@ private void guardAgainstMetamodelLockedAfterFullIntrospection(final Class> cl
/**
* Creates the appropriate type of {@link ObjectSpecification}.
*/
- private ObjectSpecification createSpecification(final Class> cls, final BeanSort beanSort) {
+ private ObjectSpecification createSpecification(final IsisBeanMetaData typeMeta) {
- guardAgainstMetamodelLockedAfterFullIntrospection(cls);
+ guardAgainstMetamodelLockedAfterFullIntrospection(typeMeta.getCorrespondingClass());
// ... and create the specs
val objectSpec = new ObjectSpecificationDefault(
- cls,
- beanSort,
+ typeMeta,
metaModelContext,
facetProcessor,
- isisBeanTypeRegistry.lookupManagedBeanNameForType(cls).orElse(null),
postProcessor,
classSubstitutorRegistry);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/IntrospectionState.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/IntrospectionState.java
index add420ac7be..9163ef62dc1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/IntrospectionState.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/IntrospectionState.java
@@ -18,7 +18,7 @@
*/
package org.apache.isis.core.metamodel.specloader.specimpl;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacet;
public enum IntrospectionState implements Comparable {
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index 47f729141d8..ca46991de12 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -64,7 +64,7 @@
import org.apache.isis.core.metamodel.facets.object.icon.IconFacet;
import org.apache.isis.core.metamodel.facets.object.icon.ObjectIcon;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacet;
import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacet;
import org.apache.isis.core.metamodel.facets.object.navparent.NavigableParentFacet;
import org.apache.isis.core.metamodel.facets.object.parented.ParentedCollectionFacet;
@@ -177,22 +177,23 @@ public Can snapshot() {
private final String shortName;
private final boolean isAbstract;
- // derived lazily, cached since immutable
- private _Lazy logicalTypeLazy = _Lazy.threadSafe(this::lookupLogicalType);
+ private final LogicalType logicalType;
private ObjectSpecification superclassSpec;
private TitleFacet titleFacet;
private IconFacet iconFacet;
private NavigableParentFacet navigableParentFacet;
+ private AliasedFacet aliasedFacet;
private CssClassFacet cssClassFacet;
private IntrospectionState introspectionState = IntrospectionState.NOT_INTROSPECTED;
// -- Constructor
- public ObjectSpecificationAbstract(
+ protected ObjectSpecificationAbstract(
final Class> introspectedClass,
+ final LogicalType logicalType,
final String shortName,
final BeanSort beanSort,
final FacetProcessor facetProcessor,
@@ -201,16 +202,13 @@ public ObjectSpecificationAbstract(
super(facetProcessor.getMetaModelContext());
this.correspondingClass = introspectedClass;
+ this.logicalType = logicalType;
this.fullName = introspectedClass.getName();
this.shortName = shortName;
this.beanSort = beanSort;
this.isAbstract = ClassExtensions.isAbstract(introspectedClass);
-
- super.featureIdentifier = Identifier.classIdentifier(
- LogicalType.lazy(
- introspectedClass,
- ()->logicalTypeLazy.get().getLogicalTypeName()));
+ super.featureIdentifier = Identifier.classIdentifier(logicalType);
this.facetProcessor = facetProcessor;
this.postProcessor = postProcessor;
@@ -224,15 +222,7 @@ public final FeatureType getFeatureType() {
@Override
public final LogicalType getLogicalType() {
- return logicalTypeLazy.get();
- }
-
- private LogicalType lookupLogicalType() {
- val logicalTypeFacet = getFacet(LogicalTypeFacet.class);
- if(logicalTypeFacet == null) {
- throw new IllegalStateException("could not find an LogicalTypeFacet for " + this.getFullIdentifier());
- }
- return logicalTypeFacet.getLogicalType();
+ return logicalType;
}
@Override
@@ -393,6 +383,7 @@ private void updateFromFacetValues() {
iconFacet = getFacet(IconFacet.class);
navigableParentFacet = getFacet(NavigableParentFacet.class);
cssClassFacet = getFacet(CssClassFacet.class);
+ aliasedFacet = getFacet(AliasedFacet.class);
}
protected void postProcess() {
@@ -408,7 +399,7 @@ public String getTitle(final TitleRenderRequest titleRenderRequest) {
return titleString;
}
}
- val prefix = this.isManagedBean()
+ val prefix = this.isInjectable()
? ""
: "Untitled ";
return prefix + getSingularName();
@@ -416,12 +407,12 @@ public String getTitle(final TitleRenderRequest titleRenderRequest) {
@Override
public String getIconName(final ManagedObject domainObject) {
-
if(ManagedObjects.isSpecified(domainObject)) {
_Assert.assertEquals(domainObject.getSpecification(), this);
}
-
- return iconFacet == null ? null : iconFacet.iconName(domainObject);
+ return iconFacet != null
+ ? iconFacet.iconName(domainObject)
+ : null;
}
@Override
@@ -432,14 +423,23 @@ public ObjectIcon getIcon(final ManagedObject domainObject) {
@Override
public Object getNavigableParent(final Object object) {
- return navigableParentFacet == null
- ? null
- : navigableParentFacet.navigableParent(object);
+ return navigableParentFacet != null
+ ? navigableParentFacet.navigableParent(object)
+ : null;
}
@Override
public String getCssClass(final ManagedObject reference) {
- return cssClassFacet == null ? null : cssClassFacet.cssClass(reference);
+ return cssClassFacet != null
+ ? cssClassFacet.cssClass(reference)
+ : null;
+ }
+
+ @Override
+ public Can getAliases() {
+ return aliasedFacet != null
+ ? aliasedFacet.getAliases()
+ : Can.empty();
}
@Override
@@ -695,14 +695,14 @@ public Stream streamDeclaredActions(
// -- mixin associations (properties and collections)
private void createMixedInAssociations(final Consumer onNewMixedInAssociation) {
- if (isManagedBean() || isValue()) {
+ if (isInjectable() || isValue()) {
return;
}
val mixinTypes = getIsisBeanTypeRegistry().getMixinTypes();
if(_NullSafe.isEmpty(mixinTypes)) {
return;
}
- for (val mixinType : mixinTypes) {
+ for (val mixinType : mixinTypes.keySet()) {
forEachMixedInAssociation(mixinType, onNewMixedInAssociation);
}
}
@@ -745,7 +745,7 @@ private void createMixedInActions(final Consumer onNewMixedInActio
if(_NullSafe.isEmpty(mixinTypes)) {
return;
}
- for (val mixinType : mixinTypes) {
+ for (val mixinType : mixinTypes.keySet()) {
forEachMixedInAction(mixinType, onNewMixedInAction);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
index 2b33d494ecf..fae5884b828 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
@@ -28,12 +28,12 @@
import org.apache.isis.core.metamodel.facetapi.FacetHolderAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetAbstract;
+import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetFromActionReturn;
import org.apache.isis.core.metamodel.facets.all.named.MemberNamedFacet;
import org.apache.isis.core.metamodel.facets.all.named.MemberNamedFacetForStaticMemberName;
import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetForContributee;
-import org.apache.isis.core.metamodel.facets.propcoll.memserexcl.SnapshotExcludeFacetAbstract;
+import org.apache.isis.core.metamodel.facets.properties.update.SnapshotExcludeFacetFromImmutableMember;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.services.publishing.ExecutionPublisher;
import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -108,9 +108,9 @@ public OneToManyAssociationMixedIn(
//
// ensure the mixedIn collection cannot be modified, and derive its TypeOfFaccet
//
- FacetUtil.addFacet(new SnapshotExcludeFacetAbstract(this) {});
+ FacetUtil.addFacet(new SnapshotExcludeFacetFromImmutableMember(this));
FacetUtil.addFacet(disabledFacet());
- FacetUtil.addFacet(new TypeOfFacetAbstract(getElementType().getCorrespondingClass(), this) {});
+ FacetUtil.addFacet(new TypeOfFacetFromActionReturn(getElementType().getCorrespondingClass(), this));
// adjust name if necessary
val isExplicitlyNamed = lookupNonFallbackFacet(MemberNamedFacet.class)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index dff41e973db..656a32e4f36 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -30,13 +30,13 @@
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Introspection.IntrospectionPolicy;
-import org.apache.isis.applib.services.metamodel.BeanSort;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.collections.ImmutableEnumSet;
import org.apache.isis.commons.internal.base._Lazy;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.commons.internal.reflection._Reflect;
+import org.apache.isis.core.config.beans.IsisBeanMetaData;
import org.apache.isis.core.metamodel.commons.StringExtensions;
import org.apache.isis.core.metamodel.commons.ToString;
import org.apache.isis.core.metamodel.context.MetaModelContext;
@@ -76,11 +76,6 @@ public class ObjectSpecificationDefault
extends ObjectSpecificationAbstract
implements FacetHolder {
- private static String determineShortName(final Class> introspectedClass) {
- final String name = introspectedClass.getName();
- return name.substring(name.lastIndexOf('.') + 1);
- }
-
// -- constructor, fields
/**
@@ -95,27 +90,24 @@ private static String determineShortName(final Class> introspectedClass) {
@Getter(onMethod_ = {@Override})
private final IntrospectionPolicy introspectionPolicy;
- /**
- * available only for managed-beans
- */
- private final String nameIfIsManagedBean;
-
public ObjectSpecificationDefault(
- final Class> correspondingClass,
- final BeanSort beanSort,
+ final IsisBeanMetaData typeMeta,
final MetaModelContext mmc,
final FacetProcessor facetProcessor,
- final String nameIfIsManagedBean,
+
final PostProcessor postProcessor,
final ClassSubstitutorRegistry classSubstitutorRegistry) {
- super(correspondingClass, determineShortName(correspondingClass), beanSort, facetProcessor, postProcessor);
+ super(typeMeta.getCorrespondingClass(),
+ typeMeta.getLogicalType(),
+ typeMeta.getLogicalType().getLogicalTypeSimpleName(),
+ typeMeta.getBeanSort(), facetProcessor, postProcessor);
- this.nameIfIsManagedBean = nameIfIsManagedBean;
+ this.injectable = typeMeta.getManagedBy().isSpring();
this.classSubstitutorRegistry = classSubstitutorRegistry;
// must install EncapsulationFacet (if any) and MemberAnnotationPolicyFacet (if any)
- facetProcessor.processObjectType(correspondingClass, this);
+ facetProcessor.processObjectType(typeMeta.getCorrespondingClass(), this);
// naturally supports attribute inheritance from the type's hierarchy
final IntrospectionPolicy introspectionPolicy =
@@ -129,9 +121,11 @@ public ObjectSpecificationDefault(
this.facetedMethodsBuilder =
new FacetedMethodsBuilder(this, facetProcessor, classSubstitutorRegistry);
-
}
+ @Getter(onMethod_ = {@Override})
+ private final boolean injectable;
+
@Override
protected void introspectTypeHierarchy() {
@@ -252,13 +246,6 @@ private ObjectAction createAction(final FacetedMethod facetedMethod) {
}
}
- // -- PREDICATES
-
- @Override
- public String getManagedBeanName() {
- return nameIfIsManagedBean;
- }
-
// -- getObjectAction
@Override
@@ -397,6 +384,4 @@ public Optional valueFacet() {
: lookupFacet(ValueFacet.class);
}
- // --
-
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index 35d4386e1dc..f6c649657a1 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -20,6 +20,8 @@
import java.util.UUID;
+import javax.inject.Named;
+
import org.jmock.Expectations;
import org.junit.After;
import org.junit.Assert;
@@ -33,6 +35,7 @@
import org.apache.isis.applib.annotation.Bounding;
import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.applib.mixins.system.HasInteractionId;
import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.core.config.metamodel.facets.EditingObjectsConfiguration;
@@ -40,7 +43,6 @@
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
-import org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory.ProcessObjectTypeContext;
import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
import org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete.AutoCompleteFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.choices.ChoicesFacetForDomainObjectAnnotation;
@@ -50,12 +52,11 @@
import org.apache.isis.core.metamodel.facets.object.domainobject.entitychangepublishing.EntityChangePublishingFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.entitychangepublishing.EntityChangePublishingFacetForDomainObjectAnnotationAsConfigured;
import org.apache.isis.core.metamodel.facets.object.domainobject.entitychangepublishing.EntityChangePublishingFacetFromConfiguration;
-import org.apache.isis.core.metamodel.facets.object.domainobject.logicaltype.LogicalTypeFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacet;
import org.apache.isis.core.metamodel.facets.object.publish.entitychange.EntityChangePublishingFacet;
-import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
+import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.objectvalue.choices.ChoicesFacet;
import org.apache.isis.core.metamodel.methods.MethodByClassMap;
@@ -556,7 +557,8 @@ public void irrespective_of_configured_value() {
public static class LogicalTypeName extends DomainObjectAnnotationFacetFactoryTest {
- @DomainObject(logicalTypeName = "CUS")
+ @Named("CUS")
+ @DomainObject
class CustomerWithDomainObjectAndObjectTypeSet {
}
@@ -573,18 +575,8 @@ public void setUp() throws Exception {
@Test
public void whenDomainObjectAndObjectTypeSetToTrue() {
-
- facetFactory.process(new ProcessObjectTypeContext(CustomerWithDomainObjectAndObjectTypeSet.class, facetHolder));
-
- final Facet facet = facetHolder.getFacet(LogicalTypeFacet.class);
- Assert.assertNotNull(facet);
-
- Assert.assertTrue(facet instanceof LogicalTypeFacetForDomainObjectAnnotation);
- final LogicalTypeFacetForDomainObjectAnnotation facetForDomainObjectAnnotation =
- (LogicalTypeFacetForDomainObjectAnnotation) facet;
-
- assertThat(facetForDomainObjectAnnotation.value(), is("CUS"));
-
+ assertThat(LogicalType.infer(CustomerWithDomainObjectAndObjectTypeSet.class).getLogicalTypeName(),
+ is("CUS"));
expectNoMethodsRemoved();
}
@@ -594,7 +586,7 @@ public void whenDomainObjectAndObjectTypeNotSet() {
facetFactory.process(ProcessClassContext
.forTesting(CustomerWithDomainObjectButNoObjectType.class, mockMethodRemover, facetHolder));
- final Facet facet = facetHolder.getFacet(LogicalTypeFacet.class);
+ final Facet facet = facetHolder.getFacet(AliasedFacet.class);
Assert.assertNull(facet);
expectNoMethodsRemoved();
@@ -606,7 +598,7 @@ public void whenNoDomainObjectAnnotation() {
facetFactory.process(ProcessClassContext
.forTesting(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
- final Facet facet = facetHolder.getFacet(LogicalTypeFacet.class);
+ final Facet facet = facetHolder.getFacet(AliasedFacet.class);
Assert.assertNull(facet);
expectNoMethodsRemoved();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetOnStandaloneList.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/NamedAnnotationFacetFactoryTest.java
similarity index 56%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetOnStandaloneList.java
rename to core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/NamedAnnotationFacetFactoryTest.java
index bbf822df1c5..a5f2592ee0f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetOnStandaloneList.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/NamedAnnotationFacetFactoryTest.java
@@ -16,15 +16,32 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.core.metamodel.facets.object.logicaltype.classname;
+package org.apache.isis.core.metamodel.facets.object.domainobject;
+import javax.inject.Named;
+
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.id.LogicalType;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacetAbstract;
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
+
+public class NamedAnnotationFacetFactoryTest
+extends AbstractFacetFactoryJUnit4TestCase {
-public class LogicalTypeFacetOnStandaloneList extends LogicalTypeFacetAbstract {
+ @Test
+ public void logicalTypeNameAnnotationPickedUpOnClass() {
+
+ @Named("CUS")
+ @DomainObject
+ class Customer {
+ }
+
+ assertThat(LogicalType.infer(Customer.class).getLogicalTypeName(), is("CUS"));
- public LogicalTypeFacetOnStandaloneList(final LogicalType logicalType, final FacetHolder holder) {
- super(logicalType, holder);
}
+
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
deleted file mode 100644
index 68d85ff7246..00000000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.core.metamodel.facets.object.domainobject;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
-import org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory.ProcessObjectTypeContext;
-import org.apache.isis.core.metamodel.facets.object.domainobject.logicaltype.LogicalTypeFacetForDomainObjectAnnotation;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
-import org.apache.isis.core.metamodel.methods.MethodByClassMap;
-
-import lombok.val;
-
-public class ObjectTypeAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4TestCase {
-
- private DomainObjectAnnotationFacetFactory facetFactory;
-
- @Before
- public void setUp() throws Exception {
- facetFactory = new DomainObjectAnnotationFacetFactory(metaModelContext, new MethodByClassMap());
- }
-
- @Test
- public void logicalTypeNameAnnotationPickedUpOnClass() {
-
- @DomainObject(logicalTypeName = "CUS")
- class Customer {
- }
-
- expectNoMethodsRemoved();
-
- val context = new ProcessObjectTypeContext(Customer.class, facetHolder);
- facetFactory.processLogicalTypeName(context.synthesizeOnType(DomainObject.class), context);
-
- final LogicalTypeFacet facet = facetHolder.getFacet(LogicalTypeFacet.class);
-
- assertThat(facet, is(not(nullValue())));
- assertThat(facet instanceof LogicalTypeFacetForDomainObjectAnnotation, is(true));
- assertThat(facet.value(), is("CUS"));
-
- }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
index dc9473e045f..bd4a9ec5fd5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
@@ -53,8 +53,8 @@ class Customers {
final Facet facet = facetHolder.getFacet(DomainServiceFacet.class);
assertNotNull(facet);
- assertTrue(facet instanceof DomainServiceFacetAnnotation);
- DomainServiceFacetAnnotation domainServiceFacet = (DomainServiceFacetAnnotation) facet;
+ assertTrue(facet instanceof DomainServiceFacetForAnnotation);
+ DomainServiceFacetForAnnotation domainServiceFacet = (DomainServiceFacetForAnnotation) facet;
assertNotNull(domainServiceFacet);
assertNoMethodsRemoved();
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacetFromClassNameFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacetFromClassNameFactoryTest.java
deleted file mode 100644
index 5af24c1b562..00000000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeFacetFromClassNameFactoryTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.core.metamodel.facets.object.logicaltype;
-
-import org.datanucleus.testing.dom.CustomerAsProxiedByDataNucleus;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.applib.annotation.Value;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
-import org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.classname.LogicalTypeFacetFromClassName;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.classname.LogicalTypeFacetFromClassNameFactory;
-import org.apache.isis.core.metamodel.facets.value.annotation.LogicalTypeFacetForValueAnnotation;
-import org.apache.isis.core.metamodel.facets.value.annotation.ValueAnnotationFacetFactory;
-
-public class LogicalTypeFacetFromClassNameFactoryTest
-extends AbstractFacetFactoryJUnit4TestCase {
-
- private ObjectTypeFacetFactory facetFactory;
-
- public static class Customer {
- }
-
- @Test
- public void installsFacet_passedThroughClassSubstitutor() {
-
- facetFactory = LogicalTypeFacetFromClassNameFactory.forTesting(metaModelContext);
-
- expectNoMethodsRemoved();
-
- facetFactory.process(new ObjectTypeFacetFactory.ProcessObjectTypeContext(CustomerAsProxiedByDataNucleus.class, facetHolder));
-
- final LogicalTypeFacet facet = facetHolder.getFacet(LogicalTypeFacet.class);
-
- assertThat(facet, is(not(nullValue())));
- assertThat(facet instanceof LogicalTypeFacetFromClassName, is(true));
- assertThat(facet.value(), is(Customer.class.getCanonicalName()));
- }
-
- @Value
- public static class ValueExample1 {
- }
-
- @Test
- public void installsFacet_onValues() {
-
- facetFactory = LogicalTypeFacetFromClassNameFactory.forTesting(metaModelContext);
-
- expectNoMethodsRemoved();
-
- facetFactory.process(new ObjectTypeFacetFactory.ProcessObjectTypeContext(ValueExample1.class, facetHolder));
-
- final LogicalTypeFacet facet = facetHolder.getFacet(LogicalTypeFacet.class);
-
- assertThat(facet, is(not(nullValue())));
- assertThat(facet instanceof LogicalTypeFacetFromClassName, is(true));
- assertThat(facet.value(), is(ValueExample1.class.getCanonicalName()));
- }
-
- @Value(logicalTypeName = "xxx.ValueExample")
- public static class ValueExample2 {
- }
-
- @Test
- public void installsFacet_onValuesUsingLogicalTypeName() {
-
- facetFactory = new ValueAnnotationFacetFactory(metaModelContext);
-
- expectNoMethodsRemoved();
-
- facetFactory.process(new ObjectTypeFacetFactory.ProcessObjectTypeContext(ValueExample2.class, facetHolder));
-
- final LogicalTypeFacet facet = facetHolder.getFacet(LogicalTypeFacet.class);
-
- assertThat(facet, is(not(nullValue())));
- assertThat(facet instanceof LogicalTypeFacetForValueAnnotation, is(true));
- assertThat(facet.value(), is("xxx.ValueExample"));
- }
-
-
-
-}
-
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeInferenceTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeInferenceTest.java
new file mode 100644
index 00000000000..dabd9d8af44
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/logicaltype/LogicalTypeInferenceTest.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.core.metamodel.facets.object.logicaltype;
+
+import javax.inject.Named;
+
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import org.apache.isis.applib.annotation.Value;
+import org.apache.isis.applib.id.LogicalType;
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
+
+public class LogicalTypeInferenceTest
+extends AbstractFacetFactoryJUnit4TestCase {
+
+ public static class Customer {
+ }
+
+ @Test
+ public void installsFacet_passedThroughClassSubstitutor() {
+ assertThat(LogicalType.infer(Customer.class).getLogicalTypeName(),
+ is(Customer.class.getCanonicalName()));
+ }
+
+ @Value
+ public static class ValueExample1 {
+ }
+
+ @Test
+ public void installsFacet_onValues() {
+ assertThat(LogicalType.infer(ValueExample1.class).getLogicalTypeName(),
+ is(ValueExample1.class.getCanonicalName()));
+ }
+
+ @Named("xxx.ValueExample")
+ @Value
+ public static class ValueExample2 {
+ }
+
+ @Test
+ public void installsFacet_onValuesUsingLogicalTypeName() {
+ assertThat(LogicalType.infer(ValueExample2.class).getLogicalTypeName(),
+ is("xxx.ValueExample"));
+ }
+
+}
+
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
index 4b84f805c3f..c24dc764f20 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
@@ -27,8 +27,8 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.Introspection.IntrospectionPolicy;
+import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.commons.internal.reflection._Reflect;
import org.apache.isis.core.metamodel._testing.MetaModelContext_forTesting;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
@@ -67,7 +67,7 @@ public void tearDown() throws Exception {
@Test
public void verifyProgrammingModelNumberOfFactories() {
- assertEquals(63, programmingModel.streamFactories().count());
+ assertEquals(62, programmingModel.streamFactories().count());
}
@Test //verify we have the javac -parameter flag set when compiling this class
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/Bar.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/Bar.java
index c3df28aa77c..c92b2773d67 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/Bar.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/Bar.java
@@ -18,14 +18,15 @@
*/
package org.apache.isis.core.metamodel.services.grid;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
+@Named("simple.Bar")
@DomainObject(
- nature = Nature.VIEW_MODEL,
- logicalTypeName = "simple.Bar"
- )
+ nature = Nature.VIEW_MODEL)
public class Bar {
@Action
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java
index 14e83a3cb2d..2a52bc263b4 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java
@@ -106,7 +106,7 @@ void setUp() throws Exception {
allowing(mockSpec).subclasses(Hierarchical.Depth.DIRECT);
will(returnValue(Can.empty()));
- allowing(mockSpec).isManagedBean();
+ allowing(mockSpec).isInjectable();
will(returnValue(true));
}
});
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
index 0de46cd2827..68c1a435332 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
@@ -43,7 +43,6 @@
import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFactory;
import org.apache.isis.core.metamodel.facets.object.icon.ObjectIcon;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
import org.apache.isis.core.metamodel.facets.object.title.TitleRenderRequest;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.interactions.ObjectTitleContext;
@@ -58,7 +57,6 @@
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.metamodel.specloader.specimpl.IntrospectionState;
-import lombok.Synchronized;
import lombok.val;
public class ObjectSpecificationStub
@@ -71,7 +69,7 @@ public class ObjectSpecificationStub
/**
* lazily derived, see {@link #getLogicalType()}
*/
- private LogicalType logicalType;
+ private final LogicalType logicalType;
private ObjectSpecification elementSpecification;
private final Class> correspondingClass;
@@ -90,6 +88,12 @@ public Optional extends ObjectMember> getMember(final String memberId) {
return Optional.empty();
}
+ @Override
+ public boolean isInjectable() {
+ // XXX not implemented
+ return false;
+ }
+
@Override
public Class> getCorrespondingClass() {
return correspondingClass;
@@ -98,8 +102,9 @@ public Class> getCorrespondingClass() {
public ObjectSpecificationStub(final MetaModelContext mmc, final Class> correspondingClass) {
super(mmc);
this.correspondingClass = correspondingClass;
- title = "";
- name = correspondingClass.getCanonicalName();
+ this.logicalType = LogicalType.infer(correspondingClass);
+ this.title = "";
+ this.name = correspondingClass.getCanonicalName();
}
@Override
@@ -137,15 +142,16 @@ public String getFullIdentifier() {
return name;
}
- @Synchronized
@Override
public LogicalType getLogicalType() {
- if(logicalType == null) {
- logicalType = getFacet(LogicalTypeFacet.class).getLogicalType();
- }
return logicalType;
}
+ @Override
+ public Can getAliases() {
+ return Can.empty();
+ }
+
@Override
public String getIconName(final ManagedObject reference) {
return null;
@@ -327,12 +333,6 @@ public void introspectUpTo(final IntrospectionState upTo) {
// [2158] not implemented yet
}
- @Override
- public String getManagedBeanName() {
- // [2158] not implemented yet
- return null;
- }
-
@Override
public Optional extends ObjectMember> getMember(final Method method) {
return Optional.empty();
diff --git a/core/metamodel/src/test/java/org/datanucleus/testing/dom/CustomerAsProxiedByDataNucleus.java b/core/metamodel/src/test/java/org/datanucleus/testing/dom/CustomerAsProxiedByDataNucleus.java
index a0143368c60..b86727d797b 100644
--- a/core/metamodel/src/test/java/org/datanucleus/testing/dom/CustomerAsProxiedByDataNucleus.java
+++ b/core/metamodel/src/test/java/org/datanucleus/testing/dom/CustomerAsProxiedByDataNucleus.java
@@ -18,8 +18,8 @@
*/
package org.datanucleus.testing.dom;
-import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacetFromClassNameFactoryTest;
+import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeInferenceTest;
public class CustomerAsProxiedByDataNucleus
-extends LogicalTypeFacetFromClassNameFactoryTest.Customer {
+extends LogicalTypeInferenceTest.Customer {
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/IsisModuleCoreRuntimeServices.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/IsisModuleCoreRuntimeServices.java
index c1b88e7c9f6..6b703317d8c 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/IsisModuleCoreRuntimeServices.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/IsisModuleCoreRuntimeServices.java
@@ -58,6 +58,7 @@
import org.apache.isis.core.runtimeservices.repository.RepositoryServiceDefault;
import org.apache.isis.core.runtimeservices.routing.RoutingServiceDefault;
import org.apache.isis.core.runtimeservices.scratchpad.ScratchpadDefault;
+import org.apache.isis.core.runtimeservices.session.InteractionIdGenerator;
import org.apache.isis.core.runtimeservices.session.InteractionServiceDefault;
import org.apache.isis.core.runtimeservices.sitemap.SitemapServiceDefault;
import org.apache.isis.core.runtimeservices.spring.SpringBeansService;
@@ -94,6 +95,7 @@
ImpersonateMenuAdvisorDefault.class,
InteractionDtoFactoryDefault.class,
InteractionServiceDefault.class,
+ InteractionIdGenerator.class,
JaxbServiceDefault.class,
LocaleChoiceProviderDefault.class,
LanguageProviderDefault.class,
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/factory/FactoryServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/factory/FactoryServiceDefault.java
index 045235b95df..aa12b1d4f0d 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/factory/FactoryServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/factory/FactoryServiceDefault.java
@@ -61,7 +61,7 @@ public class FactoryServiceDefault implements FactoryService {
@Override
public T getOrCreate(final @NonNull Class requiredType) {
val spec = loadSpec(requiredType);
- if(spec.isManagedBean()) {
+ if(spec.isInjectable()) {
return get(requiredType);
}
return create(requiredType);
@@ -142,7 +142,7 @@ public T viewModel(final @NonNull Class viewModelClass, final @Nullable B
public T create(final @NonNull Class domainClass) {
val spec = loadSpec(domainClass);
- if(spec.isManagedBean()) {
+ if(spec.isInjectable()) {
throw _Exceptions.illegalArgument(
"Class '%s' is managed by IoC container, use get() instead", domainClass.getName());
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java
index 18f1b12b175..5ed009a0c82 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java
@@ -58,7 +58,7 @@ public HomePageResolverServiceDefault(
@PostConstruct
public void init() {
val viewModelTypes = isisBeanTypeRegistry.getViewModelTypes();
- viewModelTypeForHomepage = viewModelTypes.stream()
+ viewModelTypeForHomepage = viewModelTypes.keySet().stream()
.filter(viewModelType -> _Annotations.isPresent(viewModelType, HomePage.class))
.findFirst();
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionIdGenerator.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionIdGenerator.java
new file mode 100644
index 00000000000..797bac4c7ac
--- /dev/null
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionIdGenerator.java
@@ -0,0 +1,14 @@
+package org.apache.isis.core.runtimeservices.session;
+
+import java.util.UUID;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class InteractionIdGenerator {
+
+ public UUID interactionId() {
+ return UUID.randomUUID();
+ }
+
+}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
index d5b6594f3ca..c46723e71d4 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
@@ -100,6 +100,7 @@ public class InteractionServiceDefault
final ConfigurableBeanFactory beanFactory;
final InteractionScopeLifecycleHandler interactionScopeLifecycleHandler;
+ final InteractionIdGenerator interactionIdGenerator;
// to allow implementations to have dependencies back on this service.
@Inject @Lazy List transactionBoundaryAwareBeans;
@@ -112,7 +113,8 @@ public InteractionServiceDefault(
final InteractionAwareTransactionalBoundaryHandler txBoundaryHandler,
final ClockService clockService,
final Provider commandPublisherProvider,
- final ConfigurableBeanFactory beanFactory) {
+ final ConfigurableBeanFactory beanFactory,
+ final InteractionIdGenerator interactionIdGenerator) {
this.runtimeEventService = runtimeEventService;
this.specificationLoader = specificationLoader;
this.serviceInjector = serviceInjector;
@@ -120,6 +122,7 @@ public InteractionServiceDefault(
this.clockService = clockService;
this.commandPublisherProvider = commandPublisherProvider;
this.beanFactory = beanFactory;
+ this.interactionIdGenerator = interactionIdGenerator;
this.interactionScopeLifecycleHandler = InteractionScopeBeanFactoryPostProcessor.lookupScope(beanFactory);
}
@@ -216,10 +219,12 @@ private IsisInteraction getOrCreateIsisInteraction() {
final Stack interactionLayers = interactionLayerStack.get();
return interactionLayers.isEmpty()
- ? new IsisInteraction(UUID.randomUUID())
+ ? new IsisInteraction(interactionIdGenerator.interactionId())
: _Casts.uncheckedCast(interactionLayers.firstElement().getInteraction());
}
+
+
@Override
public void closeInteractionLayers() {
log.debug("about to close the interaction stack (conversation-id={}, total-layers-on-stack={}, {})",
diff --git a/core/security/src/main/java/org/apache/isis/core/security/authentication/logout/LogoutMenu.java b/core/security/src/main/java/org/apache/isis/core/security/authentication/logout/LogoutMenu.java
index 7366a7409d4..398558d3131 100644
--- a/core/security/src/main/java/org/apache/isis/core/security/authentication/logout/LogoutMenu.java
+++ b/core/security/src/main/java/org/apache/isis/core/security/authentication/logout/LogoutMenu.java
@@ -94,9 +94,9 @@ private Object getRedirect() {
}
/** A pseudo model used to redirect to the login page.*/
+ @Named(LoginRedirect.LOGICAL_TYPE_NAME)
@DomainObject(
- nature = Nature.VIEW_MODEL,
- logicalTypeName = LoginRedirect.LOGICAL_TYPE_NAME)
+ nature = Nature.VIEW_MODEL)
public static class LoginRedirect {
public final static String LOGICAL_TYPE_NAME = "isis.security.LoginRedirect";
}
diff --git a/examples/demo/domain/pom.xml b/examples/demo/domain/pom.xml
index cb535db03f8..2405ff9707a 100644
--- a/examples/demo/domain/pom.xml
+++ b/examples/demo/domain/pom.xml
@@ -115,11 +115,11 @@
org.apache.isis.extensions
- isis-extensions-command-log-jdo
+ isis-extensions-commandlog-jdo
org.apache.isis.extensions
- isis-extensions-command-log-jpa
+ isis-extensions-commandlog-jpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java
index 78341ec0b4b..dfc653ed06c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom._infra.values;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.ValueHolder")
+@Named("demo.ValueHolder")
public interface ValueHolder {
T value();
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands.java
index e0a2c4084b6..e03d28a0d3b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands.java
@@ -25,7 +25,7 @@
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.tablecol.TableColumnOrderForCollectionTypeAbstract;
-import org.apache.isis.extensions.commandlog.applib.command.ICommandLog;
+import org.apache.isis.extensions.commandlog.applib.dom.CommandLogEntry;
/**
* Marker interface for mixins to contribute to.
@@ -35,9 +35,9 @@ public interface ExposePersistedCommands {
@Service
@javax.annotation.Priority(PriorityPrecedence.EARLY)
- public static class TableColumnOrderDefault extends TableColumnOrderForCollectionTypeAbstract {
+ public static class TableColumnOrderDefault extends TableColumnOrderForCollectionTypeAbstract {
- public TableColumnOrderDefault() { super(ICommandLog.class); }
+ public TableColumnOrderDefault() { super(CommandLogEntry.class); }
@Override
protected List orderParented(Object parent, String collectionId, List propertyIds) {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands_commands.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands_commands.java
index eb6bbdb1257..5162a45856c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands_commands.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/_commands/ExposePersistedCommands_commands.java
@@ -24,8 +24,8 @@
import org.apache.isis.applib.annotation.Collection;
import org.apache.isis.applib.annotation.CollectionLayout;
-import org.apache.isis.extensions.commandlog.applib.command.ICommandLog;
-import org.apache.isis.extensions.commandlog.applib.command.ICommandLogRepository;
+import org.apache.isis.extensions.commandlog.applib.dom.CommandLogEntry;
+import org.apache.isis.extensions.commandlog.applib.dom.CommandLogEntryRepository;
import lombok.RequiredArgsConstructor;
@@ -39,10 +39,10 @@ public class ExposePersistedCommands_commands {
private final ExposePersistedCommands exposePersistedCommands;
//tag::class[]
- public List extends ICommandLog> coll() {
+ public List extends CommandLogEntry> coll() {
return commandModelRepository.findCompleted();
}
- @Inject ICommandLogRepository extends ICommandLog> commandModelRepository;
+ @Inject CommandLogEntryRepository extends CommandLogEntry> commandModelRepository;
}
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java
index 2f727df1430..5773e539de1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java
@@ -21,6 +21,8 @@
import java.text.SimpleDateFormat;
import java.util.Date;
+import javax.inject.Named;
+
import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.LabelPosition;
@@ -41,10 +43,9 @@
import lombok.val;
//tag::class[]
+@Named("demo.InteractionDtoVm")
@DomainObject(
- logicalTypeName = "demo.InteractionDtoVm"
- , nature = Nature.VIEW_MODEL
-)
+ nature = Nature.VIEW_MODEL)
@NoArgsConstructor
@AllArgsConstructor
public class InteractionDtoVm implements ViewModel {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java
index 487e5727388..83945a954bc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java
@@ -22,6 +22,7 @@
import java.util.List;
import java.util.Objects;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -51,9 +52,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionAssociateWithVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionAssociateWithVm"
+ nature=Nature.VIEW_MODEL
)
@NoArgsConstructor
//tag::class-properties[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java
index 3b5da28508a..e37a2776833 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.associateWith.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,9 +41,9 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionAssociateWithChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionAssociateWithChildVm"
+ nature=Nature.VIEW_MODEL
)
@NoArgsConstructor
public class ActionAssociateWithChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingEntity.java
index 5b69c3c2aab..aead71d4a4f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.domain.actions.Action.commandPublishing;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.domain._commands.ExposePersistedCommands;
-@DomainObject(
- logicalTypeName = "demo.ActionCommandPublishingEntity" // shared permissions with concrete sub class
-)
+@Named("demo.ActionCommandPublishingEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class ActionCommandPublishingEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo-description.adoc
index fdb04e2a92d..6944571d924 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo-description.adoc
@@ -111,7 +111,7 @@ include::../ActionCommandPublishingEntity_mixinUpdatePropertyMetaAnnotationOverr
== CommandServiceListener
-The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension, so every command is persisted.
+The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension, so every command is persisted.
These can be viewed in the collection at the left bottom of the page.
xref:refguide:applib:index/services/command/Command.adoc[Command]s are persisted after the page rendering phase, so to view a just-persisted command, refresh the page.
@@ -137,9 +137,9 @@ In other words actions are reified to commands except for those that don't chang
== Command Replay
-The link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
+The link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
It also provides a RESTful endpoint to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be queried.
-This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/command-replay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
+This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/commandreplay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
The associated `commandDtoProcessor()` element allows the xref:refguide:applib:index/services/command/Command.adoc[Command] XML representation (as a `CommandDto`) to be processed before being surfaced through the REST endpoint.
One use case is to allow data to be obfuscated for security, or to replace large payloads (such as Blobs) with a smaller dummy payload.
@@ -154,10 +154,10 @@ This activates the `application-secondary.properties` configuration file:
[source,properties]
----
-isis.extensions.command-replay.primary-access.base-url-restful=http://localhost:8080/restful/
-isis.extensions.command-replay.primary-access.user=sven
-isis.extensions.command-replay.primary-access.password=pass
-isis.extensions.command-replay.primary-access.base-url-wicket=http://localhost:8080/wicket/
+isis.extensions.commandreplay.primary-access.base-url-restful=http://localhost:8080/restful/
+isis.extensions.commandreplay.primary-access.user=sven
+isis.extensions.commandreplay.primary-access.password=pass
+isis.extensions.commandreplay.primary-access.base-url-wicket=http://localhost:8080/wicket/
server.port=9090
----
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo.java
index 2d855cc1f4e..3fa0666c93e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.commandPublishing.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -48,9 +49,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.ActionCommandPublishingEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.ActionCommandPublishingEntity"
, editing = Editing.DISABLED
)
public class ActionCommandPublishingJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa-description.adoc
index 88dc52a201a..051c8d8eee7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa-description.adoc
@@ -111,7 +111,7 @@ include::../ActionCommandPublishingEntity_mixinUpdatePropertyMetaAnnotationOverr
== CommandServiceListener
-The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension, so every command is persisted.
+The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension, so every command is persisted.
These can be viewed in the collection at the left bottom of the page.
xref:refguide:applib:index/services/command/Command.adoc[Command]s are persisted after the page rendering phase, so to view a just-persisted command, refresh the page.
@@ -137,9 +137,9 @@ In other words actions are reified to commands except for those that don't chang
== Command Replay
-The link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
+The link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
It also provides a RESTful endpoint to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be queried.
-This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/command-replay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
+This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/commandreplay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
The associated `commandDtoProcessor()` element allows the xref:refguide:applib:index/services/command/Command.adoc[Command] XML representation (as a `CommandDto`) to be processed before being surfaced through the REST endpoint.
One use case is to allow data to be obfuscated for security, or to replace large payloads (such as Blobs) with a smaller dummy payload.
@@ -154,10 +154,10 @@ This activates the `application-secondary.properties` configuration file:
[source,properties]
----
-isis.extensions.command-replay.primary-access.base-url-restful=http://localhost:8080/restful/
-isis.extensions.command-replay.primary-access.user=sven
-isis.extensions.command-replay.primary-access.password=pass
-isis.extensions.command-replay.primary-access.base-url-wicket=http://localhost:8080/wicket/
+isis.extensions.commandreplay.primary-access.base-url-restful=http://localhost:8080/restful/
+isis.extensions.commandreplay.primary-access.user=sven
+isis.extensions.commandreplay.primary-access.password=pass
+isis.extensions.commandreplay.primary-access.base-url-wicket=http://localhost:8080/wicket/
server.port=9090
----
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa.java
index 463418c1ec1..e71353e4533 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jpa/ActionCommandPublishingJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.commandPublishing.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -54,10 +55,9 @@
name = "ActionCommandPublishingJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.ActionCommandPublishingEntity")
@DomainObject(
- logicalTypeName = "demo.ActionCommandPublishingEntity"
- , editing = Editing.DISABLED
-)
+ editing = Editing.DISABLED)
@NoArgsConstructor
public class ActionCommandPublishingJpa
extends ActionCommandPublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java
index a1ed8e0ba84..4a6c3fce73a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.domainEvent;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionDomainEventVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionDomainEventVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
//tag::class[]
public class ActionDomainEventVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingEntity.java
index 9b5db11432b..e544ffa195c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.domain.actions.Action.executionPublishing;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.domain._interactions.ExposeCapturedInteractions;
-@DomainObject(
- logicalTypeName = "demo.ActionExecutionPublishingEntity" // shared permissions with concrete sub class
-)
+@Named("demo.ActionExecutionPublishingEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class ActionExecutionPublishingEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingJdo.java
index 922fb94350d..99a247040fc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.executionPublishing.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -48,9 +49,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.ActionExecutionPublishingEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.ActionExecutionPublishingEntity"
, editing = Editing.DISABLED
)
public class ActionExecutionPublishingJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jpa/ActionExecutionPublishingJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jpa/ActionExecutionPublishingJpa.java
index be8ea3a5e33..1483a3772e5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jpa/ActionExecutionPublishingJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jpa/ActionExecutionPublishingJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.executionPublishing.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -54,10 +55,9 @@
name = "ActionExecutionPublishingJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.ActionExecutionPublishingEntity")
@DomainObject(
- logicalTypeName = "demo.ActionExecutionPublishingEntity"
- , editing = Editing.DISABLED
-)
+ editing = Editing.DISABLED)
@NoArgsConstructor
public class ActionExecutionPublishingJpa
extends ActionExecutionPublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java
index 0b8beca3732..afa09b1aab8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.hidden;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionHiddenVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionHiddenVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
//tag::class[]
public class ActionHiddenVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java
index 420967a7f1b..221b27deced 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.restrictTo;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionRestrictToVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionRestrictToVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
//tag::class[]
public class ActionRestrictToVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java
index d16d6b9c16b..afb3a35a0b6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java
@@ -19,6 +19,7 @@
package demoapp.dom.domain.actions.Action.semantics;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -50,10 +51,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionSemanticsVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionSemanticsVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
//tag::class[]
public class ActionSemanticsVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java
index 672169bcaf0..10e8aef4f9f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java
@@ -22,6 +22,7 @@
import java.util.List;
import java.util.stream.Collectors;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -45,10 +46,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionTypeOfVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionTypeOfVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
//tag::class-collections-children[]
public class ActionTypeOfVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java
index 2fcf1a97b1d..8501a77ce87 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.Action.typeOf.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,10 +41,9 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionTypeOfChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionTypeOfChildVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class ActionTypeOfChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java
index 594fd7808f9..6cf501a2b63 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.ActionLayout.position;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,9 +41,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionLayoutPositionVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionLayoutPositionVm"
+ nature=Nature.VIEW_MODEL
)
public class ActionLayoutPositionVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
index e0ffbb913a9..f15eef2e434 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.actions.ActionLayout.promptStyle;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,10 +42,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.ActionLayoutPromptStyleVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.ActionLayoutPromptStyleVm"
-)
+ nature=Nature.VIEW_MODEL)
public class ActionLayoutPromptStyleVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java
index 7fbd54497aa..f496cd0e260 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java
@@ -22,6 +22,7 @@
import java.util.Set;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AssociatedAction", editing=Editing.ENABLED)
+@Named("demo.AssociatedAction")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
@NoArgsConstructor
public class AssociatedActionDemo implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java
index edf8f0097d2..3e0ef07b6c3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java
@@ -32,9 +32,8 @@
import lombok.NoArgsConstructor;
import lombok.Setter;
-
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AssociatedActionDemoTask")
-@Named("assoc.DemoItem")
+@Named("demo.AssociatedActionDemoTask")
+@DomainObject(nature=Nature.VIEW_MODEL)
@NoArgsConstructor
@AllArgsConstructor(staticName="of")
public class DemoItem {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java
index e8dc3d4bc68..d7a13e7ecd0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java
@@ -33,8 +33,8 @@
import lombok.NoArgsConstructor;
import lombok.Setter;
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.DependentArgsDemoItem")
-@Named("depargs.DemoItem")
+@Named("demo.DependentArgsDemoItem")
+@DomainObject(nature=Nature.VIEW_MODEL)
@NoArgsConstructor
@AllArgsConstructor(staticName="of")
@EqualsAndHashCode // required for the Dependent Arguments demo to work properly
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java
index 8470ba625ae..54322c4f47d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java
@@ -21,6 +21,7 @@
import java.util.LinkedHashSet;
import java.util.Set;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -44,7 +45,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.DependentArgs", editing=Editing.ENABLED)
+@Named("demo.DependentArgs")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
public class DependentArgsActionDemo implements HasAsciiDocDescription {
public String title() {
@@ -86,7 +88,5 @@ public Markup getIndependentText() {
@Getter
private final Set items = new LinkedHashSet<>();
-
-
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java
index 1577ea87275..8590a918ea2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -45,9 +46,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.CollectionDomainEventVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.CollectionDomainEventVm",
editing = Editing.ENABLED
)
//tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java
index fe95326311b..3ef33cee2f4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.collections.Collection.domainEvent.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,10 +41,9 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.CollectionDomainEventChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.CollectionDomainEventChildVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class CollectionDomainEventChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingEntity.java
index 1942098fa39..5a1cb2ea9bf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.domain._changes.ExposeCapturedChanges;
-@DomainObject(
- logicalTypeName = "demo.DomainObjectEntityChangePublishingEntity"
-)
+@Named("demo.DomainObjectEntityChangePublishingEntity")
+@DomainObject
//tag::class[]
public abstract class DomainObjectEntityChangePublishingEntity
implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java
index 9c03412259f..f464737e36f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -33,16 +34,14 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.DomainObjectEntityChangePublishingVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.DomainObjectEntityChangePublishingVm"
-)
+ nature=Nature.VIEW_MODEL)
public class DomainObjectEntityChangePublishingVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
return "DomainObject#entityChangePublishing";
}
-
}
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledEntity.java
index c8399726ae8..3fe223f70ff 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledEntity.java
@@ -18,13 +18,14 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.disabled;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObjectEntityChangePublishingEntity;
-@DomainObject(
- logicalTypeName = "demo.DomainObjectEntityChangePublishingDisabledEntity" // shared permissions with concrete sub class
-)
+@Named("demo.DomainObjectEntityChangePublishingDisabledEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class DomainObjectEntityChangePublishingDisabledEntity
extends DomainObjectEntityChangePublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jdo/DomainObjectEntityChangePublishingDisabledJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jdo/DomainObjectEntityChangePublishingDisabledJdo.java
index f7f36518915..b4240ca8ddd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jdo/DomainObjectEntityChangePublishingDisabledJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jdo/DomainObjectEntityChangePublishingDisabledJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.disabled.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -41,9 +42,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.DomainObjectEntityChangePublishingDisabledEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingDisabledEntity"
, entityChangePublishing = Publishing.DISABLED // <.>
, bounding = Bounding.BOUNDED
)
@@ -55,7 +56,7 @@ public class DomainObjectEntityChangePublishingDisabledJdo
// ...
//end::class[]
- public DomainObjectEntityChangePublishingDisabledJdo(String initialValue) {
+ public DomainObjectEntityChangePublishingDisabledJdo(final String initialValue) {
this.property = initialValue;
this.propertyUpdatedByAction = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jpa/DomainObjectEntityChangePublishingDisabledJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jpa/DomainObjectEntityChangePublishingDisabledJpa.java
index a881863ea4b..7caa93c4a4f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jpa/DomainObjectEntityChangePublishingDisabledJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/jpa/DomainObjectEntityChangePublishingDisabledJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.disabled.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -48,9 +49,9 @@
name = "DomainObjectEntityChangePublishingDisabledJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.DomainObjectEntityChangePublishingDisabledEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingDisabledEntity"
, entityChangePublishing = Publishing.DISABLED // <.>
, bounding = Bounding.BOUNDED
)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledEntity.java
index 95ff50a1eab..9e7d2b5416a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledEntity.java
@@ -18,13 +18,14 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.enabled;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObjectEntityChangePublishingEntity;
-@DomainObject(
- logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledEntity" // shared permissions with concrete sub class
-)
+@Named("demo.DomainObjectEntityChangePublishingEnabledEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class DomainObjectEntityChangePublishingEnabledEntity
extends DomainObjectEntityChangePublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jdo/DomainObjectEntityChangePublishingEnabledJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jdo/DomainObjectEntityChangePublishingEnabledJdo.java
index 6bea4268ea2..f58493470df 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jdo/DomainObjectEntityChangePublishingEnabledJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jdo/DomainObjectEntityChangePublishingEnabledJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.enabled.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -41,9 +42,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.DomainObjectEntityChangePublishingEnabledEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledEntity"
, entityChangePublishing = Publishing.ENABLED // <.>
, bounding = Bounding.BOUNDED
)
@@ -55,7 +56,7 @@ public class DomainObjectEntityChangePublishingEnabledJdo
// ...
//end::class[]
- public DomainObjectEntityChangePublishingEnabledJdo(String initialValue) {
+ public DomainObjectEntityChangePublishingEnabledJdo(final String initialValue) {
this.property = initialValue;
this.propertyUpdatedByAction = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jpa/DomainObjectEntityChangePublishingEnabledJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jpa/DomainObjectEntityChangePublishingEnabledJpa.java
index a93b32c84fb..61a89c9cbea 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jpa/DomainObjectEntityChangePublishingEnabledJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/jpa/DomainObjectEntityChangePublishingEnabledJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.enabled.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -48,9 +49,9 @@
name = "DomainObjectEntityChangePublishingEnabledJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.DomainObjectEntityChangePublishingEnabledEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledEntity"
, entityChangePublishing = Publishing.ENABLED // <.>
, bounding = Bounding.BOUNDED
)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity.java
index c904d5ab4ee..4f4b8e9d761 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity.java
@@ -18,13 +18,14 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnot.enabled;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObjectEntityChangePublishingEntity;
-@DomainObject(
- logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity" // shared permissions with concrete sub class
-)
+@Named("demo.DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity
extends DomainObjectEntityChangePublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java
index ea2e070962e..e033e291f8e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnot.enabled.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -42,9 +43,9 @@
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
@DomainObjectEntityChangePublishingEnabledMetaAnnotation // <.>
+@Named("demo.DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity"
, bounding = Bounding.BOUNDED
)
@DomainObjectLayout(
@@ -55,7 +56,7 @@ public class DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo
// ...
//end::class[]
- public DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo(String initialValue) {
+ public DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo(final String initialValue) {
this.property = initialValue;
this.propertyUpdatedByAction = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJpa.java
index d891e15e80c..e3c63e07cf2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnot.enabled.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -49,9 +50,9 @@
)
@EntityListeners(IsisEntityListener.class)
@DomainObjectEntityChangePublishingEnabledMetaAnnotation // <.>
+@Named("demo.DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledMetaAnnotatedEntity"
, bounding = Bounding.BOUNDED
)
@DomainObjectLayout(
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity.java
index 37c6c4c1ade..d2c8ab2e5cf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity.java
@@ -18,13 +18,14 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnotOverridden.enabled;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObjectEntityChangePublishingEntity;
-@DomainObject(
- logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity" // shared permissions with concrete sub class
-)
+@Named("demo.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity
extends DomainObjectEntityChangePublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java
index ae57266885d..2d8749de47c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jdo/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnotOverridden.enabled.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -43,9 +44,9 @@
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
@DomainObjectEntityChangePublishingDisabledMetaAnnotation // <.>
+@Named("demo.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity"
, entityChangePublishing = Publishing.ENABLED // <.>
, bounding = Bounding.BOUNDED
)
@@ -59,7 +60,7 @@ public class DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo
// ...
//end::class[]
- public DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo(String initialValue) {
+ public DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo(final String initialValue) {
this.property = initialValue;
this.propertyUpdatedByAction = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJpa.java
index 22c87ec0330..4e6c6355d35 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/jpa/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnotOverridden.enabled.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -50,9 +51,9 @@
)
@EntityListeners(IsisEntityListener.class)
@DomainObjectEntityChangePublishingDisabledMetaAnnotation // <.>
+@Named("demo.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenEntity"
, entityChangePublishing = Publishing.ENABLED // <.>
, bounding = Bounding.BOUNDED
)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/JaxbRefEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/JaxbRefEntity.java
index 03925e85d46..bcfc59a447e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/JaxbRefEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/JaxbRefEntity.java
@@ -20,15 +20,16 @@
import java.util.Objects;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.ObjectSupport;
import org.apache.isis.applib.annotation.Property;
import demoapp.dom._infra.values.ValueHolder;
-@DomainObject(
- logicalTypeName = "demo.JaxbRefEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JaxbRefEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JaxbRefEntity
implements
ValueHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java
index dedc492ef0b..4abe07736b4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java
@@ -23,6 +23,7 @@
import java.util.Objects;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -58,10 +59,9 @@
propOrder = {"message", "favoriteChild", "children"}
)
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.StatefulViewModelJaxbRefsEntity")
@DomainObject(
- nature=Nature.VIEW_MODEL
- , logicalTypeName = "demo.StatefulViewModelJaxbRefsEntity"
-)
+ nature=Nature.VIEW_MODEL)
public class StatefulVmJaxbRefsEntity implements HasAsciiDocDescription {
@XmlTransient @Inject
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jdo/JaxbRefJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jdo/JaxbRefJdo.java
index 56661c1c54b..a78686d865d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jdo/JaxbRefJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jdo/JaxbRefJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.nature.viewmodels.jaxbrefentity.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -38,9 +39,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.JaxbRefEntity")
@DomainObject(
- bounding = Bounding.BOUNDED
- , logicalTypeName = "demo.JaxbRefEntity")
+ bounding = Bounding.BOUNDED)
public class JaxbRefJdo
extends JaxbRefEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jpa/JaxbRefJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jpa/JaxbRefJpa.java
index b28b9ad7c4b..d00533530a0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jpa/JaxbRefJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/jpa/JaxbRefJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.DomainObject.nature.viewmodels.jaxbrefentity.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -45,9 +46,9 @@
name = "JaxbRefJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.JaxbRefEntity")
@DomainObject(
- bounding = Bounding.BOUNDED
- , logicalTypeName = "demo.JaxbRefEntity")
+ bounding = Bounding.BOUNDED)
@NoArgsConstructor
public class JaxbRefJpa
extends JaxbRefEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java
index 07b027087d7..3c981fe81ca 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -51,10 +52,9 @@
@XmlRootElement(name = "root") // <.>
@XmlType // <.>
@XmlAccessorType(XmlAccessType.FIELD) // <.>
+@Named("demo.StatefulVmUsingJaxb")
@DomainObject(
- nature=Nature.VIEW_MODEL
- , logicalTypeName = "demo.StatefulVmUsingJaxb"
-)
+ nature=Nature.VIEW_MODEL)
public class StatefulVmUsingJaxb implements HasAsciiDocDescription {
@ObjectSupport public String title() {
@@ -71,9 +71,9 @@ public class StatefulVmUsingJaxb implements HasAsciiDocDescription {
@XmlRootElement
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.StatefulViewModelUsingJaxb.Child")
@DomainObject(
- nature=Nature.VIEW_MODEL
- , logicalTypeName = "demo.StatefulVmUsingJaxb.Child")
+ nature=Nature.VIEW_MODEL)
@Data
public static class Child {
@Title
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java
index d35025ec93d..9557031c48b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.annotation.Collection;
import org.apache.isis.applib.annotation.DomainObject;
@@ -32,7 +33,8 @@
import demoapp.dom.domain.objects.other.embedded.persistence.NumberConstantEntity;
// tag::class[]
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.EmbeddedTypeVm")
+@Named("demo.EmbeddedTypeVm")
+@DomainObject(nature=Nature.VIEW_MODEL)
public class EmbeddedTypeVm implements HasAsciiDocDescription {
// ...
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/NumberConstantJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/NumberConstantJdo.java
index a57ef430419..2e8c0bab3c1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/NumberConstantJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/NumberConstantJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.other.embedded.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,7 +43,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(logicalTypeName = "demo.NumberConstantEntity")
+@Named("demo.NumberConstantEntity")
+@DomainObject
public class NumberConstantJdo
extends NumberConstantEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/NumberConstantJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/NumberConstantJpa.java
index d0b7e7f0193..fc7af7e6965 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/NumberConstantJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/NumberConstantJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.other.embedded.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,7 +48,8 @@
name = "NumberConstantJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(logicalTypeName = "demo.NumberConstantEntity")
+@Named("demo.NumberConstantEntity")
+@DomainObject
@NoArgsConstructor
public class NumberConstantJpa
extends NumberConstantEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/persistence/NumberConstantEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/persistence/NumberConstantEntity.java
index 9352ec82695..0a48f4f8987 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/persistence/NumberConstantEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/persistence/NumberConstantEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.domain.objects.other.embedded.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.domain.objects.other.embedded.ComplexNumber;
-@DomainObject(
- logicalTypeName = "demo.NumberConstantEntity" // shared permissions with concrete sub class
-)
+@Named("demo.NumberConstantEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class NumberConstantEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java
index 08df39ec6e0..19eac8b43dc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.domain.objects.other.mixins;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.CountHolder")
+@Named("demo.CountHolder")
//tag::class[]
public interface CountHolder {
int getCount();
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java
index 37f3acc3d3d..2cad9d5f56e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.domain.objects.other.mixins;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.Nature;
@@ -30,12 +32,10 @@
import lombok.NoArgsConstructor;
import lombok.Setter;
-
+@Named("demo.FibonacciNumberVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- editing = Editing.DISABLED,
- logicalTypeName = "demo.FibonacciNumberVm"
-)
+ editing = Editing.DISABLED)
@NoArgsConstructor
@AllArgsConstructor(staticName = "of")
public class FibonacciNumberVm {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java
index c314ceb7a55..2e6680a6a1c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.objects.other.mixins;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -38,7 +39,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.MixinVm")
+@Named("demo.MixinVm")
+@DomainObject(nature=Nature.VIEW_MODEL)
public class MixinVm implements HasAsciiDocDescription, CountHolder {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingEntity.java
index 80a17f83621..8346b70275c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.domain.properties.Property.commandPublishing;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.domain._commands.ExposePersistedCommands;
-@DomainObject(
- logicalTypeName = "demo.PropertyCommandPublishingEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PropertyCommandPublishingEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PropertyCommandPublishingEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo-description.adoc
index a334239cfab..33c6d803b7a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo-description.adoc
@@ -73,7 +73,7 @@ include::PropertyCommandPublishingJdo.java[tags=meta-annotation-overridden]
== CommandSubscriber
-The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension, so every command is persisted.
+The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension, so every command is persisted.
These can be viewed in the collection at the bottom of the left page.
xref:refguide:applib:index/services/command/Command.adoc[Command]s are persisted after the page rendering phase, so to view a just-persisted command, refresh the page.
@@ -99,9 +99,9 @@ In other words actions are reified to commands except for those that don't chang
== Command Replay
-The link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
+The link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
It also provides a RESTful endpoint to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be queried.
-This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/command-replay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
+This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/commandreplay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
The associated `commandDtoProcessor()` element allows the xref:refguide:applib:index/services/command/Command.adoc[Command] XML representation (as a `CommandDto`) to be processed before being surfaced through the REST endpoint.
One use case is to allow data to be obfuscated for security, or to replace large payloads (such as Blobs) with a smaller dummy payload.
@@ -116,10 +116,10 @@ This activates the `application-secondary.properties` configuration file:
[source,properties]
----
-isis.extensions.command-replay.primary-access.base-url-restful=http://localhost:8080/restful/
-isis.extensions.command-replay.primary-access.user=sven
-isis.extensions.command-replay.primary-access.password=pass
-isis.extensions.command-replay.primary-access.base-url-wicket=http://localhost:8080/wicket/
+isis.extensions.commandreplay.primary-access.base-url-restful=http://localhost:8080/restful/
+isis.extensions.commandreplay.primary-access.user=sven
+isis.extensions.commandreplay.primary-access.password=pass
+isis.extensions.commandreplay.primary-access.base-url-wicket=http://localhost:8080/wicket/
server.port=9090
----
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo.java
index 84e5f2e3f10..6f445df227f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.commandPublishing.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -44,9 +45,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.PropertyCommandPublishingEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.PropertyCommandPublishingEntity"
, editing = Editing.ENABLED
)
public class PropertyCommandPublishingJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa-description.adoc
index c3cdfa8b31d..886f57c841b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa-description.adoc
@@ -73,7 +73,7 @@ include::PropertyCommandPublishingJpa.java[tags=meta-annotation-overridden]
== CommandSubscriber
-The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension, so every command is persisted.
+The demo includes the link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension, so every command is persisted.
These can be viewed in the collection at the bottom of the left page.
xref:refguide:applib:index/services/command/Command.adoc[Command]s are persisted after the page rendering phase, so to view a just-persisted command, refresh the page.
@@ -99,9 +99,9 @@ In other words actions are reified to commands except for those that don't chang
== Command Replay
-The link:https://isis.apache.org/extensions/2.0.0-M3/command-log/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
+The link:https://isis.apache.org/extensions/2.0.0-M3/commandlog/about.html[Command Log] extension provides an implementation of `CommandServiceListener` to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be persisted.
It also provides a RESTful endpoint to allow xref:refguide:applib:index/services/command/Command.adoc[Command]s to be queried.
-This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/command-replay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
+This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/commandreplay/about.html[Command Replay] extension to allow commands to be replayed on a secondary system, for regression testing.
The associated `commandDtoProcessor()` element allows the xref:refguide:applib:index/services/command/Command.adoc[Command] XML representation (as a `CommandDto`) to be processed before being surfaced through the REST endpoint.
One use case is to allow data to be obfuscated for security, or to replace large payloads (such as Blobs) with a smaller dummy payload.
@@ -116,10 +116,10 @@ This activates the `application-secondary.properties` configuration file:
[source,properties]
----
-isis.extensions.command-replay.primary-access.base-url-restful=http://localhost:8080/restful/
-isis.extensions.command-replay.primary-access.user=sven
-isis.extensions.command-replay.primary-access.password=pass
-isis.extensions.command-replay.primary-access.base-url-wicket=http://localhost:8080/wicket/
+isis.extensions.commandreplay.primary-access.base-url-restful=http://localhost:8080/restful/
+isis.extensions.commandreplay.primary-access.user=sven
+isis.extensions.commandreplay.primary-access.password=pass
+isis.extensions.commandreplay.primary-access.base-url-wicket=http://localhost:8080/wicket/
server.port=9090
----
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa.java
index 0b63dc605a3..5396164afd5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jpa/PropertyCommandPublishingJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.commandPublishing.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -50,10 +51,9 @@
name = "PropertyCommandPublishingJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.PropertyCommandPublishingEntity")
@DomainObject(
- logicalTypeName = "demo.PropertyCommandPublishingEntity"
- , editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
public class PropertyCommandPublishingJpa
extends PropertyCommandPublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java
index 7c81bc7a23a..a75122c6c46 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.domainEvent;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyDomainEventVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyDomainEventVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
//tag::class[]
public class PropertyDomainEventVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java
index 5a6b49c9357..739dc6c6ef3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.editing;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,9 +41,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyEditingVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyEditingVm",
editing = Editing.DISABLED // <.>
)
public class PropertyEditingVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingEntity.java
index 8bf322ae933..ee1bf086be9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.domain.properties.Property.executionPublishing;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.domain._interactions.ExposeCapturedInteractions;
-@DomainObject(
- logicalTypeName = "demo.PropertyExecutionPublishingEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PropertyExecutionPublishingEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PropertyExecutionPublishingEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingJdo.java
index d994db73f32..af4996a9546 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.executionPublishing.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -45,11 +46,10 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.PropertyExecutionPublishingEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.PropertyExecutionPublishingEntity"
- , editing = Editing.ENABLED
-)
+ , editing = Editing.ENABLED)
public class PropertyExecutionPublishingJdo
extends PropertyExecutionPublishingEntity {
// ...
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jpa/PropertyExecutionPublishingJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jpa/PropertyExecutionPublishingJpa.java
index efba97e0ef8..f4e9542751c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jpa/PropertyExecutionPublishingJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jpa/PropertyExecutionPublishingJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.executionPublishing.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -51,10 +52,9 @@
name = "PropertyExecutionPublishingJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.PropertyExecutionPublishingEntity")
@DomainObject(
- logicalTypeName = "demo.PropertyExecutionPublishingEntity"
- , editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
public class PropertyExecutionPublishingJpa
extends PropertyExecutionPublishingEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java
index 974a8059db3..505c422543d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.fileAccept;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,11 +43,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyFileAcceptVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyFileAcceptVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyFileAcceptVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java
index 5c566a7cbef..82661917a42 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -48,11 +49,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyHiddenVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyHiddenVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
public class PropertyHiddenVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java
index 88afb91ae39..1a65f0aea63 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.hidden.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -43,10 +44,9 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyHiddenChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyHiddenChildVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class PropertyHiddenChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java
index 2c6491b4233..88ba23fc8a2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.maxLength;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,11 +41,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyMaxLengthVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyMaxLengthVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyMaxLengthVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java
index fdf1923eda9..ebb624552c8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.mustSatisfy;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,11 +41,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyMustSatisfyVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyMustSatisfyVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyMustSatisfyVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java
index 84914788f0f..160eca13b54 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.optionality;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyOptionalityVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyOptionalityVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyOptionalityVm implements HasAsciiDocDescription {
// ...
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java
index a0d5aa60934..64f6fcc6d96 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyProjectingVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyProjectingVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
public class PropertyProjectingVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java
index b7086b8207c..da6a916648b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.projecting.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -46,10 +47,9 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyProjectingChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyProjectingChildVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class PropertyProjectingChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java
index 1de2b5879a2..e833e8c7bf9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.projecting.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -42,9 +43,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.PropertyProjectingChildJdo")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.PropertyProjectingChildJdo"
, editing = Editing.DISABLED
)
@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jpa/PropertyProjectingChildJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jpa/PropertyProjectingChildJpa.java
index b946d0919e0..63573420177 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jpa/PropertyProjectingChildJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jpa/PropertyProjectingChildJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.projecting.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -48,10 +49,9 @@
name = "PropertyProjectingChildJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.PropertyProjectingChildJpa")
@DomainObject(
- logicalTypeName = "demo.PropertyProjectingChildJpa"
- , editing = Editing.DISABLED
-)
+ editing = Editing.DISABLED)
@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
@NoArgsConstructor
public class PropertyProjectingChildJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/persistence/PropertyProjectingChildEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/persistence/PropertyProjectingChildEntity.java
index fdd373f2659..01be2c01513 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/persistence/PropertyProjectingChildEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/persistence/PropertyProjectingChildEntity.java
@@ -18,14 +18,15 @@
*/
package demoapp.dom.domain.properties.Property.projecting.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
-@DomainObject(
- logicalTypeName = "demo.PropertyProjectingChildEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PropertyProjectingChildEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PropertyProjectingChildEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java
index 03a935b1bd1..2e481c6518f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java
@@ -20,6 +20,7 @@
import java.util.regex.Pattern;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,11 +43,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyRegexPatternVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyRegexPatternVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyRegexPatternVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java
index 302e1d3370d..c07ed86194d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.Property.snapshot;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertySnapshotVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertySnapshotVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
public class PropertySnapshotVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
index 159811dd9ef..e95d20d7e2a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.cssClass;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutCssClassVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutCssClassVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyLayoutCssClassVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
index c1732e4fc57..5f9ebf69446 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.describedAs;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutDescribedAsVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutDescribedAsVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyLayoutDescribedAsVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
index e494a7c82b1..b61dcc5d1bf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -49,11 +50,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutHiddenVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutHiddenVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
public class PropertyLayoutHiddenVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java
index 7d1ed002cc7..0da0256b4eb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.hidden.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutHiddenChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutHiddenChildVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class PropertyLayoutHiddenChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java
index c011807207d..679c9aa6971 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.labelPosition;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,11 +43,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutLabelPositionVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutLabelPositionVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyLayoutLabelPositionVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java
index d333177a07f..02d5e1a36a8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.multiLine;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutMultiLineVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutMultiLineVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyLayoutMultiLineVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java
index 4216da126ab..9c01b62ad51 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.named;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutNamedVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutNamedVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyLayoutNamedVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java
index 995d4cca26c..d7d348390c2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java
@@ -21,6 +21,7 @@
import java.io.File;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.isis.applib.annotation.DomainObject;
@@ -42,7 +43,8 @@
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
@XmlRootElement(name="FileNode")
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.FileNode")
+@Named("demo.FileNode")
+@DomainObject(nature=Nature.VIEW_MODEL)
@ToString
@NoArgsConstructor
public class FileNodeVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
index cd9356d31f4..84b31612847 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
@@ -20,6 +20,7 @@
import java.time.LocalDate;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -37,20 +38,20 @@
import org.apache.isis.applib.annotation.RenderDay;
import org.apache.isis.applib.jaxb.JavaTimeJaxbAdapters;
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
+import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
//tag::class[]
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutRenderDayVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutRenderDayVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
@NoArgsConstructor
public class PropertyLayoutRenderDayVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java
index bdc1e67a965..a3cf5ce74da 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.repainting;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutRepaintingVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutRepaintingVm"
-)
+ nature=Nature.VIEW_MODEL)
public class PropertyLayoutRepaintingVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java
index 822f742e36a..2474732d2a8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.domain.properties.PropertyLayout.typicalLength;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -41,11 +42,10 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PropertyLayoutTypicalLengthVm")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PropertyLayoutTypicalLengthVm",
- editing = Editing.ENABLED
-)
+ editing = Editing.ENABLED)
public class PropertyLayoutTypicalLengthVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java
index f079846c2f7..e403abb9ff3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java
@@ -20,6 +20,7 @@
import java.io.Serializable;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -41,8 +42,12 @@
@XmlRootElement(name = "demo.CustomUiVm")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.CustomUiVm")
-public class WhereInTheWorldVm implements HasAsciiDocDescription, Serializable {
+@Named("demo.CustomUiVm")
+@DomainObject(nature=Nature.VIEW_MODEL)
+public class WhereInTheWorldVm
+implements HasAsciiDocDescription, Serializable {
+
+ private static final long serialVersionUID = 1L;
@Title
@Getter @Setter
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java
index e2aaa7d7846..0ab2d124ab7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -57,7 +58,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.Tooltip")
+@Named("demo.Tooltip")
+@DomainObject(nature=Nature.VIEW_MODEL)
public class DescribedAsVm implements HasAsciiDocDescription {
@XmlTransient
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java
index e1036969fab..3e51919374f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.featured.layout.tabs;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -39,7 +40,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.Tab")
+@Named("demo.Tab")
+@DomainObject(nature=Nature.VIEW_MODEL)
public class TabDemo implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java b/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java
index 0936aebdbfc..9dc76956b92 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java
@@ -19,6 +19,7 @@
package demoapp.dom.homepage;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.HomePage;
@@ -31,10 +32,9 @@
import demoapp.dom._infra.resources.AsciiDocReaderService;
//tag::class[]
+@Named("demo.Homepage")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.Homepage"
-)
+ nature=Nature.VIEW_MODEL)
@HomePage // <.>
public class DemoHomePage
implements HasAsciiDocDescription { // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java
index af2570974d4..fde4f2ac986 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.services.core.errorreportingservice;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -35,7 +36,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.ErrorReportingServiceDemoVm", editing=Editing.ENABLED)
+@Named("demo.ErrorReportingServiceDemoVm")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
public class ErrorReportingServiceDemoVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
index e515a9aa3c3..c54caabf664 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.annotation.Action;
@@ -34,7 +35,8 @@
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.EventBusServiceDemoVm")
+@Named("demo.EventBusServiceDemoVm")
+@DomainObject(nature=Nature.VIEW_MODEL)
public class EventBusServiceDemoVm implements HasAsciiDocDescription {
@Inject private EventLogEntryRepository extends EventLogEntry> eventLogEntryRepository;
@@ -49,7 +51,8 @@ public List extends EventLogEntry> getAllEvents(){
return eventLogEntryRepository.listAll();
}
- @DomainObject(nature = Nature.VIEW_MODEL, logicalTypeName = "demo.EventBusServiceDemoVm.UiButtonEvent")
+ @Named("demo.EventBusServiceDemoVm.UiButtonEvent")
+ @DomainObject(nature = Nature.VIEW_MODEL)
public static class UiButtonEvent implements ViewModel {
// -- VIEWMODEL CONTRACT
public UiButtonEvent(final String memento) { }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntry.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntry.java
index 257222bc14e..cda5c469016 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntry.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntry.java
@@ -18,10 +18,13 @@
*/
package demoapp.dom.services.core.eventbusservice;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.ObjectSupport;
-@DomainObject(logicalTypeName = "demo.EventLogEntry")
+@Named("demo.EventLogEntry")
+@DomainObject
public abstract class EventLogEntry {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
index da87c122a36..3b4888a0661 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
@@ -21,6 +21,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -43,7 +44,8 @@
@Profile("demo-jdo")
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(logicalTypeName = "demo.EventLogEntry")
+@Named("demo.EventLogEntry")
+@DomainObject
public class EventLogEntryJdo
extends EventLogEntry {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
index 8fd58fe877a..8965387456d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
@@ -21,6 +21,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@@ -41,7 +42,8 @@
@Profile("demo-jpa")
@Entity
-@DomainObject(logicalTypeName = "demo.EventLogEntry")
+@Named("demo.EventLogEntry")
+@DomainObject
public class EventLogEntryJpa
extends EventLogEntry {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
index d413bccfbd5..5a9525b09c8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
@@ -61,9 +61,9 @@ public void on(final UiButtonEvent event) {
}
+ @Named("demo.eventLogWriter")
@DomainObject(
- nature = Nature.BEAN, // <-- have this Object's lifecycle managed by Spring
- logicalTypeName = "demo.eventLogWriter")
+ nature = Nature.BEAN) // <-- have this Object's lifecycle managed by Spring
public static class EventLogWriter {
@Inject private EventLogEntryRepository extends EventLogEntry> eventLogEntryRepository;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
index a9c3113812c..4679a217aa4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
@@ -19,18 +19,20 @@
package demoapp.dom.services.core.messageservice;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.ActionLayout.Position;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.ObjectSupport;
-import org.apache.isis.applib.annotation.ActionLayout.Position;
import org.apache.isis.applib.services.message.MessageService;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.MessageServiceDemoVm")
+@Named("demo.MessageServiceDemoVm")
+@DomainObject(nature=Nature.VIEW_MODEL)
public class MessageServiceDemoVm implements HasAsciiDocDescription {
@Inject private MessageService messageService;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java
index d04fb95679f..60ee9d34ee4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.services.core.wrapperFactory;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.domain._commands.ExposePersistedCommands;
-@DomainObject(
- logicalTypeName = "demo.WrapperFactoryEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperFactoryEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperFactoryEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java
index 5f658167156..7f7d0ca9d97 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java
@@ -19,6 +19,7 @@
package demoapp.dom.services.core.wrapperFactory.jdo;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -51,9 +52,9 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@Named("demo.WrapperFactoryEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.WrapperFactoryEntity"
, editing = Editing.DISABLED
)
public class WrapperFactoryJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java
index 87c9ffacfd1..e3d6ab114b1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java
@@ -19,6 +19,7 @@
package demoapp.dom.services.core.wrapperFactory.jpa;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -58,9 +59,9 @@
name = "WrapperFactoryJpa"
)
@EntityListeners(IsisEntityListener.class)
+@Named("demo.WrapperFactoryEntity")
@DomainObject(
nature=Nature.ENTITY
- , logicalTypeName = "demo.WrapperFactoryEntity"
, editing = Editing.DISABLED
)
@NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java
index 14aecb0826a..26c618b08bf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -48,10 +49,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.XmlSnapshotParentVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.XmlSnapshotParentVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class XmlSnapshotParentVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java
index b75d3319812..92754bad649 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.services.core.xmlSnapshotService.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,14 +41,13 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.XmlSnapshotChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.XmlSnapshotChildVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class XmlSnapshotChildVm implements HasAsciiDocDescription {
- public XmlSnapshotChildVm(String value) {
+ public XmlSnapshotChildVm(final String value) {
setValue(value);
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java
index 9a65e772188..671c484bb4b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -47,14 +48,13 @@
@XmlRootElement(name = "peer")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.XmlSnapshotPeerVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.XmlSnapshotPeerVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class XmlSnapshotPeerVm implements HasAsciiDocDescription {
- public XmlSnapshotPeerVm(String value) {
+ public XmlSnapshotPeerVm(final String value) {
setValue(value);
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java
index c517e55f133..f3e1f0ce562 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.services.core.xmlSnapshotService.peer.child;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -40,14 +41,13 @@
@XmlRootElement(name = "child")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.XmlSnapshotPeerChildVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.XmlSnapshotPeerChildVm"
-)
+ nature=Nature.VIEW_MODEL)
@NoArgsConstructor
public class XmlSnapshotPeerChildVm implements HasAsciiDocDescription {
- public XmlSnapshotPeerChildVm(String value) {
+ public XmlSnapshotPeerChildVm(final String value) {
setValue(value);
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java
index c9cfa5bbef9..ce24d9d538b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -45,10 +46,9 @@
@XmlRootElement(name = "root")
@XmlType()
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.SecManVm")
@DomainObject(
- nature=Nature.VIEW_MODEL
- , logicalTypeName = "demo.SecManVm"
-)
+ nature=Nature.VIEW_MODEL)
public class AppTenancyVm implements HasAsciiDocDescription {
@ObjectSupport public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
index 9b3ed2a9f39..305367e0c8f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.services.extensions.secman.apptenancy.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -44,9 +45,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.TenantedEntity"
-)
+@Named("demo.TenantedEntity")
+@DomainObject
public class TenantedJdo
extends TenantedEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java
index 4404c61a6eb..baeffd8b82b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.services.extensions.secman.apptenancy.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -51,9 +52,8 @@
name = "TenantedJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.TenantedEntity"
-)
+@Named("demo.TenantedEntity")
+@DomainObject
@NoArgsConstructor
public class TenantedJpa
extends TenantedEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java
index 65c238ce2d5..c498b9d68d4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java
@@ -18,13 +18,14 @@
*/
package demoapp.dom.services.extensions.secman.apptenancy.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.values.ValueHolder;
-@DomainObject(
- logicalTypeName = "demo.TenantedEntity" // shared permissions with concrete sub class
-)
+@Named("demo.TenantedEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class TenantedEntity
implements ValueHolder{
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java
index 9fbdccea591..3d56d52fa82 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisBlobs", editing=Editing.ENABLED)
+@Named("demo.IsisBlobs")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisBlobs implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java
index ede24fa96a6..5e530fe2f85 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isis.blobs.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.applib.value.Blob;
-@LogicalTypeName("demo.IsisBlobHolder")
+@Named("demo.IsisBlobHolder")
//tag::class[]
public interface IsisBlobHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java
index 5cd686decfa..fc59e20ce55 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.blobs.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -44,14 +45,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisBlobEntity"
-)
+@Named("demo.IsisBlobEntity")
+@DomainObject
public class IsisBlobJdo // <.>
extends IsisBlobEntity {
//end::class[]
- public IsisBlobJdo(Blob initialValue) {
+ public IsisBlobJdo(final Blob initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java
index 97bb10ce7a5..7db185115f9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.blobs.jpa;
+import javax.inject.Named;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
@@ -52,15 +53,14 @@
name = "IsisBlobJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisBlobEntity"
-)
+@Named("demo.IsisBlobEntity")
+@DomainObject
@NoArgsConstructor
public class IsisBlobJpa
extends IsisBlobEntity {
//end::class[]
- public IsisBlobJpa(Blob initialValue) {
+ public IsisBlobJpa(final Blob initialValue) {
setReadOnlyProperty(initialValue);
setReadWriteProperty(initialValue);
}
@@ -78,11 +78,13 @@ public IsisBlobJpa(Blob initialValue) {
@Embedded
private BlobJpaEmbeddable readOnlyProperty;
+ @Override
@Title(prepend = "Blob JPA entity: ")
@PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
public Blob getReadOnlyProperty() {
return BlobJpaEmbeddable.toBlob(readOnlyProperty);
}
+ @Override
public void setReadOnlyProperty(final Blob readOnlyProperty) {
this.readOnlyProperty = BlobJpaEmbeddable.fromBlob(readOnlyProperty);
}
@@ -95,12 +97,14 @@ public void setReadOnlyProperty(final Blob readOnlyProperty) {
@Embedded
private BlobJpaEmbeddable readWriteProperty;
+ @Override
@Property(editing = Editing.ENABLED) // <.>
@PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
public Blob getReadWriteProperty() {
return BlobJpaEmbeddable.toBlob(readWriteProperty);
}
+ @Override
public void setReadWriteProperty(final Blob readWriteProperty) {
this.readWriteProperty = BlobJpaEmbeddable.fromBlob(readWriteProperty);
}
@@ -113,12 +117,14 @@ public void setReadWriteProperty(final Blob readWriteProperty) {
@Embedded
private BlobJpaEmbeddable readOnlyOptionalProperty;
+ @Override
@Property(optionality = Optionality.OPTIONAL) // <.>
@PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
public Blob getReadOnlyOptionalProperty() {
return BlobJpaEmbeddable.toBlob(readOnlyOptionalProperty);
}
+ @Override
public void setReadOnlyOptionalProperty(final Blob readOnlyOptionalProperty) {
this.readOnlyOptionalProperty = BlobJpaEmbeddable.fromBlob(readOnlyOptionalProperty);
}
@@ -132,12 +138,14 @@ public void setReadOnlyOptionalProperty(final Blob readOnlyOptionalProperty) {
@Embedded
private BlobJpaEmbeddable readWriteOptionalProperty;
+ @Override
@Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
@PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
public Blob getReadWriteOptionalProperty() {
return BlobJpaEmbeddable.toBlob(readWriteOptionalProperty);
}
+ @Override
public void setReadWriteOptionalProperty(final Blob readWriteOptionalProperty) {
this.readWriteOptionalProperty = BlobJpaEmbeddable.fromBlob(readWriteOptionalProperty);
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java
index a7261028872..fa801602070 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.types.isis.blobs.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.value.Blob;
@@ -25,9 +27,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isis.blobs.holder.IsisBlobHolder2;
-@DomainObject(
- logicalTypeName = "demo.IsisBlobEntity" // shared permissions with concrete sub class
-)
+@Named("demo.IsisBlobEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisBlobEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java
index 965af2364fd..491208b983f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.blobs.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -43,10 +44,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisBlobVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisBlobVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisBlobVm
implements HasAsciiDocDescription, IsisBlobHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java
index f42a3fd1fa6..f2357df3215 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisClobs", editing=Editing.ENABLED)
+@Named("demo.IsisClobs")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisClobs implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java
index f9340a8f97c..07051fde2b7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isis.clobs.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.applib.value.Clob;
-@LogicalTypeName("demo.IsisClobHolder")
+@Named("demo.IsisClobHolder")
//tag::class[]
public interface IsisClobHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java
index a3b8ec043f9..75f16b53bbc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.clobs.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -44,14 +45,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisClobEntity"
-)
+@Named("demo.IsisClobEntity")
+@DomainObject
public class IsisClobJdo // <.>
extends IsisClobEntity {
//end::class[]
- public IsisClobJdo(Clob initialValue) {
+ public IsisClobJdo(final Clob initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java
index 9e093423d91..4d974caa57d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.clobs.jpa;
+import javax.inject.Named;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
@@ -52,9 +53,8 @@
name = "IsisClobJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisClobEntity"
-)
+@Named("demo.IsisClobEntity")
+@DomainObject
@NoArgsConstructor
public class IsisClobJpa
extends IsisClobEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java
index 99ebd5067b2..ec5437cb101 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.types.isis.clobs.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.value.Clob;
@@ -25,9 +27,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isis.clobs.holder.IsisClobHolder2;
-@DomainObject(
- logicalTypeName = "demo.IsisClobEntity" // shared permissions with concrete sub class
-)
+@Named("demo.IsisClobEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisClobEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java
index c59e9187abe..e19c30eecef 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.clobs.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -43,16 +44,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisClobVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisClobVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisClobVm
implements HasAsciiDocDescription, IsisClobHolder2 {
//end::class[]
- public IsisClobVm(Clob initialValue) {
+ public IsisClobVm(final Clob initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java
index 80b0243c55c..dc16e6cb7ab 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisLocalResourcePaths", editing=Editing.ENABLED)
+@Named("demo.IsisLocalResourcePaths")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisLocalResourcePaths implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java
index cece8207d44..292cae0e068 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isis.localresourcepaths.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.applib.value.LocalResourcePath;
-@LogicalTypeName("demo.IsisLocalResourcePathHolder")
+@Named("demo.IsisLocalResourcePathHolder")
//tag::class[]
public interface IsisLocalResourcePathHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java
index ae00a3782ad..18459e95fd3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.localresourcepaths.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -44,14 +45,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisLocalResourcePathEntity"
-)
+@Named("demo.IsisLocalResourcePathEntity")
+@DomainObject
public class IsisLocalResourcePathJdo // <.>
extends IsisLocalResourcePathEntity {
//end::class[]
- public IsisLocalResourcePathJdo(LocalResourcePath initialValue) {
+ public IsisLocalResourcePathJdo(final LocalResourcePath initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java
index 168f81cf616..a9b5cc714e3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.localresourcepaths.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -50,9 +51,8 @@
name = "IsisLocalResourcePathJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisLocalResourcePathEntity"
-)
+@Named("demo.IsisLocalResourcePathEntity")
+@DomainObject
@NoArgsConstructor
public class IsisLocalResourcePathJpa
extends IsisLocalResourcePathEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java
index 825f48d008a..9e80d7ee10d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.types.isis.localresourcepaths.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.value.LocalResourcePath;
@@ -25,9 +27,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isis.localresourcepaths.holder.IsisLocalResourcePathHolder2;
-@DomainObject(
- logicalTypeName = "demo.IsisLocalResourcePathEntity" // shared permissions with concrete sub class
-)
+@Named("demo.IsisLocalResourcePathEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisLocalResourcePathEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java
index 0edb39c0051..d7a250c54ec 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.localresourcepaths.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -43,16 +44,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisLocalResourcePathVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisLocalResourcePathVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisLocalResourcePathVm
implements HasAsciiDocDescription, IsisLocalResourcePathHolder2 {
//end::class[]
- public IsisLocalResourcePathVm(LocalResourcePath initialValue) {
+ public IsisLocalResourcePathVm(final LocalResourcePath initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java
index 4c8f1a4678c..b5c421baa30 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisMarkups", editing=Editing.ENABLED)
+@Named("demo.IsisMarkups")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisMarkups implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java
index b1b145665c8..f038114da6f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isis.markups.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.applib.value.Markup;
-@LogicalTypeName("demo.IsisMarkupHolder")
+@Named("demo.IsisMarkupHolder")
//tag::class[]
public interface IsisMarkupHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java
index c82a1ac8b03..0a031379d65 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java
@@ -19,6 +19,7 @@
package demoapp.dom.types.isis.markups.jdo;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -46,11 +47,10 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisMarkupEntity"
-)
+@Named("demo.IsisMarkupEntity")
+@DomainObject
public class IsisMarkupJdo // <.>
- extends IsisMarkupEntity {
+extends IsisMarkupEntity {
//end::class[]
public IsisMarkupJdo(final Markup initialValue) {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java
index cb130a7a964..456c7d7f9c4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java
@@ -19,6 +19,7 @@
package demoapp.dom.types.isis.markups.jpa;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -57,9 +58,8 @@
name = "IsisMarkupJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisMarkupEntity"
-)
+@Named("demo.IsisMarkupEntity")
+@DomainObject
@NoArgsConstructor
public class IsisMarkupJpa
extends IsisMarkupEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java
index f77474c9c15..5cb4ac665a7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.types.isis.markups.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.value.Markup;
@@ -25,9 +27,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isis.markups.holder.IsisMarkupHolder2;
-@DomainObject(
- logicalTypeName = "demo.IsisMarkupEntity" // shared permissions with concrete sub class
-)
+@Named("demo.IsisMarkupEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisMarkupEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java
index 859616600db..d78fe06c87f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.markups.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisMarkupVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisMarkupVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisMarkupVm
implements HasAsciiDocDescription, IsisMarkupHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java
index 23c1d03cab3..1863454c605 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisPasswords", editing=Editing.ENABLED)
+@Named("demo.IsisPasswords")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisPasswords implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java
index 37d41cc6ed2..f4c6320d4e3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isis.passwords.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.applib.value.Password;
-@LogicalTypeName("demo.IsisPasswordHolder")
+@Named("demo.IsisPasswordHolder")
//tag::class[]
public interface IsisPasswordHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java
index e475e205b7a..b4dc542e850 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.passwords.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -43,14 +44,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisPasswordEntity"
-)
+@Named("demo.IsisPasswordEntity")
+@DomainObject
public class IsisPasswordJdo // <.>
extends IsisPasswordEntity {
//end::class[]
- public IsisPasswordJdo(Password initialValue) {
+ public IsisPasswordJdo(final Password initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java
index e076661137c..b00b3e26229 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.passwords.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -50,9 +51,8 @@
name = "IsisPasswordJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisPasswordEntity"
-)
+@Named("demo.IsisPasswordEntity")
+@DomainObject
@NoArgsConstructor
public class IsisPasswordJpa
extends IsisPasswordEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java
index 26df5af1549..1918009a282 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java
@@ -19,12 +19,13 @@
package demoapp.dom.types.isis.passwords.persistence;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.ActionLayout.Position;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.ActionLayout.Position;
import org.apache.isis.applib.services.message.MessageService;
import org.apache.isis.applib.value.Password;
@@ -32,9 +33,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isis.passwords.holder.IsisPasswordHolder2;
-@DomainObject(
- logicalTypeName = "demo.IsisPasswordEntity" // shared permissions with concrete sub class
-)
+@Named("demo.IsisPasswordEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisPasswordEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java
index 3647a08939a..95bf564ac98 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isis.passwords.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -43,10 +44,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisPasswordVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisPasswordVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisPasswordVm
implements HasAsciiDocDescription, IsisPasswordHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java
index 283438d57a3..f141a9ae3c6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisAsciiDocs", editing=Editing.ENABLED)
+@Named("demo.IsisAsciiDocs")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisAsciiDocs implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java
index 2b6407a52fb..54b926a2fa9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isisext.asciidocs.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
-@LogicalTypeName("demo.IsisAsciiDocHolder")
+@Named("demo.IsisAsciiDocHolder")
//tag::class[]
public interface IsisAsciiDocHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java
index 5e141fd9f3d..16e3aaf8683 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java
@@ -19,6 +19,7 @@
package demoapp.dom.types.isisext.asciidocs.jdo;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -46,9 +47,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisAsciiDocEntity"
-)
+@Named("demo.IsisAsciiDocEntity")
+@DomainObject
public class IsisAsciiDocJdo // <.>
extends IsisAsciiDocEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java
index 0be6edab5f4..729f7b2b534 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java
@@ -19,6 +19,7 @@
package demoapp.dom.types.isisext.asciidocs.jpa;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -57,9 +58,8 @@
name = "IsisAsciiDocJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisAsciiDocEntity"
-)
+@Named("demo.IsisAsciiDocEntity")
+@DomainObject
@NoArgsConstructor
public class IsisAsciiDocJpa
extends IsisAsciiDocEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java
index 94aa08e5acb..982c2d6ed40 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.types.isisext.asciidocs.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
@@ -25,9 +27,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isisext.asciidocs.holder.IsisAsciiDocHolder2;
-@DomainObject(
- logicalTypeName = "demo.IsisAsciiDocEntity" // shared permissions with concrete sub class
-)
+@Named("demo.IsisAsciiDocEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisAsciiDocEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java
index 53bc0d6bcdc..9ad314aced0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isisext.asciidocs.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisAsciiDocVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisAsciiDocVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisAsciiDocVm
implements HasAsciiDocDescription, IsisAsciiDocHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/IsisCalendarEvents.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/IsisCalendarEvents.java
index 1a2e1391f82..b6a1c33a47d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/IsisCalendarEvents.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/IsisCalendarEvents.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisCalendarEvents", editing=Editing.ENABLED)
+@Named("demo.IsisCalendarEvents")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisCalendarEvents
implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java
index 8d7c567a805..c32b7284b35 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isisext.cal.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.extensions.fullcalendar.applib.value.CalendarEvent;
-@LogicalTypeName("demo.IsisCalendarEventHolder")
+@Named("demo.IsisCalendarEventHolder")
//tag::class[]
public interface IsisCalendarEventHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jdo/IsisCalendarEventJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jdo/IsisCalendarEventJdo.java
index 325adb61fe1..4ad95c54908 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jdo/IsisCalendarEventJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jdo/IsisCalendarEventJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isisext.cal.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -43,9 +44,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisCalendarEventEntity"
-)
+@Named("demo.IsisCalendarEventEntity")
+@DomainObject
public class IsisCalendarEventJdo
extends IsisCalendarEventEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jpa/IsisCalendarEventJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jpa/IsisCalendarEventJpa.java
index bfc0f52c1bb..fb68365b953 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jpa/IsisCalendarEventJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/jpa/IsisCalendarEventJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isisext.cal.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -50,9 +51,8 @@
name = "IsisCalendarEventJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisCalendarEventEntity"
-)
+@Named("demo.IsisCalendarEventEntity")
+@DomainObject
@NoArgsConstructor
public class IsisCalendarEventJpa
extends IsisCalendarEventEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/persistence/IsisCalendarEventEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/persistence/IsisCalendarEventEntity.java
index 4088a9834c8..f8a46859cfe 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/persistence/IsisCalendarEventEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/persistence/IsisCalendarEventEntity.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.types.isisext.cal.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.extensions.fullcalendar.applib.CalendarEventable;
import org.apache.isis.extensions.fullcalendar.applib.value.CalendarEvent;
@@ -26,9 +28,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isisext.cal.holder.IsisCalendarEventHolder2;
-@DomainObject(
- logicalTypeName = "demo.CalendarEventEntity" // shared permissions with concrete sub class
-)
+@Named("demo.CalendarEventEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisCalendarEventEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/vm/IsisCalendarEventVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/vm/IsisCalendarEventVm.java
index 23ec3efeece..e766665f125 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/vm/IsisCalendarEventVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/vm/IsisCalendarEventVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isisext.cal.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -43,10 +44,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisCalendarEventVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisCalendarEventVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisCalendarEventVm
implements HasAsciiDocDescription, IsisCalendarEventHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java
index 6cb9278137b..1f5605635c7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisMarkdowns", editing=Editing.ENABLED)
+@Named("demo.IsisMarkdowns")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class IsisMarkdowns implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java
index 04415638a42..5b9b2dcafd4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java
@@ -18,10 +18,11 @@
*/
package demoapp.dom.types.isisext.markdowns.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.valuetypes.markdown.applib.value.Markdown;
-@LogicalTypeName("demo.IsisMarkdownHolder")
+@Named("demo.IsisMarkdownHolder")
//tag::class[]
public interface IsisMarkdownHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java
index 76f9bb70d25..3b772ba0b74 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java
@@ -19,6 +19,7 @@
package demoapp.dom.types.isisext.markdowns.jdo;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -46,9 +47,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.IsisMarkdownEntity"
-)
+@Named("demo.IsisMarkdownEntity")
+@DomainObject
public class IsisMarkdownJdo // <.>
extends IsisMarkdownEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java
index f382387ae7c..bbbf110bbc5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java
@@ -19,6 +19,7 @@
package demoapp.dom.types.isisext.markdowns.jpa;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -57,9 +58,8 @@
name = "IsisMarkdownJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.IsisMarkdownEntity"
-)
+@Named("demo.IsisMarkdownEntity")
+@DomainObject
@NoArgsConstructor
public class IsisMarkdownJpa
extends IsisMarkdownEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java
index 74ac8bd4a84..55f354e05b3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java
@@ -18,6 +18,8 @@
*/
package demoapp.dom.types.isisext.markdowns.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.valuetypes.markdown.applib.value.Markdown;
@@ -25,9 +27,8 @@
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.isisext.markdowns.holder.IsisMarkdownHolder2;
-@DomainObject(
- logicalTypeName = "demo.IsisMarkdownEntity" // shared permissions with concrete sub class
-)
+@Named("demo.IsisMarkdownEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class IsisMarkdownEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java
index b9d3e07aed2..360c1c73455 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.isisext.markdowns.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,10 +45,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.IsisMarkdownVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.IsisMarkdownVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class IsisMarkdownVm
implements HasAsciiDocDescription, IsisMarkdownHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java
index 8872a674578..701dc146a71 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java
@@ -19,6 +19,7 @@
package demoapp.dom.types.isisext.sse;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AsyncAction", editing=Editing.DISABLED)
+@Named("demo.AsyncAction")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.DISABLED)
public class AsyncActionDemo implements HasAsciiDocDescription {
@XmlTransient
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java
index d1122c9a01c..29596920c4d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java
@@ -20,6 +20,8 @@
import java.util.concurrent.atomic.LongAdder;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.Nature;
@@ -30,7 +32,8 @@
import lombok.RequiredArgsConstructor;
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AsyncDemoTask", editing=Editing.DISABLED)
+@Named("demo.AsyncDemoTask")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.DISABLED)
@RequiredArgsConstructor(staticName="of")
public class DemoTask implements SseSource {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java
index 450dd1401f8..507c73e617e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaAwtBufferedImages", editing=Editing.ENABLED)
+@Named("demo.JavaAwtBufferedImages")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaAwtBufferedImages implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java
index e3c1a06aca4..fabd3adbc0a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java
@@ -20,9 +20,9 @@
import java.awt.image.BufferedImage;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaAwtBufferedImageHolder")
+@Named("demo.JavaAwtBufferedImageHolder")
//tag::class[]
public interface JavaAwtBufferedImageHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java
index 0a10ae87986..4dc3c34439e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java
@@ -20,6 +20,7 @@
import java.awt.image.BufferedImage;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -43,9 +44,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaAwtBufferedImageEntity"
-)
+@Named("demo.JavaAwtBufferedImageEntity")
+@DomainObject
public class JavaAwtBufferedImageJdo
extends JavaAwtBufferedImageEntity
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java
index 0eb04c8d2c6..ce0b0ea7d3d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java
@@ -20,6 +20,7 @@
import java.awt.image.BufferedImage;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
@@ -52,9 +53,8 @@
name = "JavaAwtBufferedImageJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaAwtBufferedImageEntity"
-)
+@Named("demo.JavaAwtBufferedImageEntity")
+@DomainObject
@NoArgsConstructor
public class JavaAwtBufferedImageJpa
extends JavaAwtBufferedImageEntity
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java
index fbef565a6f1..b5b984836c1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java
@@ -20,15 +20,16 @@
import java.awt.image.BufferedImage;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javaawt.images.holder.JavaAwtBufferedImageHolder2;
-@DomainObject(
- logicalTypeName = "demo.JavaAwtBufferedImageEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaAwtBufferedImageEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaAwtBufferedImageEntity
implements
HasAsciiDocDescription,
@@ -49,7 +50,7 @@ public BufferedImage getReadWriteProperty() {
}
@Override
- public void setReadWriteProperty(BufferedImage c) {
+ public void setReadWriteProperty(final BufferedImage c) {
// TODO Auto-generated method stub
}
@@ -60,7 +61,7 @@ public BufferedImage getReadWriteOptionalProperty() {
}
@Override
- public void setReadWriteOptionalProperty(BufferedImage c) {
+ public void setReadWriteOptionalProperty(final BufferedImage c) {
// TODO Auto-generated method stub
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java
index 62203f27174..9be23f6f4d1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java
@@ -20,6 +20,7 @@
import java.awt.image.BufferedImage;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,10 +43,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaAwtBufferedImageVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaAwtBufferedImageVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaAwtBufferedImageVm
implements HasAsciiDocDescription
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java
index 553c7f775fd..5833234a248 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperBooleans", editing=Editing.ENABLED)
+@Named("demo.WrapperBooleans")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperBooleans implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java
index b74c13635aa..f5bb57d4e60 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.booleans.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperBooleanHolder")
+@Named("demo.WrapperBooleanHolder")
//tag::class[]
public interface WrapperBooleanHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
index eb0373ada95..fb5217a374f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.booleans.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperBooleanEntity"
-)
+@Named("demo.WrapperBooleanEntity")
+@DomainObject
public class WrapperBooleanJdo // <.>
extends WrapperBooleanEntity {
//end::class[]
- public WrapperBooleanJdo(Boolean initialValue) {
+ public WrapperBooleanJdo(final Boolean initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java
index 381ee276bba..21b829869f8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.booleans.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperBooleanJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperBooleanEntity"
-)
+@Named("demo.WrapperBooleanEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperBooleanJpa
extends WrapperBooleanEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java
index 71193299443..502cfe34e95 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.booleans.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.booleans.holder.WrapperBooleanHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperBooleanEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperBooleanEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperBooleanEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java
index 83a9bb1f60a..f574cf0edc0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.booleans.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperBooleanVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperBooleanVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperBooleanVm
implements HasAsciiDocDescription, WrapperBooleanHolder2 {
//end::class[]
- public WrapperBooleanVm(Boolean initialValue) {
+ public WrapperBooleanVm(final Boolean initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java
index eb428edddba..ec8eafca876 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperBytes", editing=Editing.ENABLED)
+@Named("demo.WrapperBytes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperBytes implements HasAsciiDocDescription {
@@ -73,5 +75,4 @@ public List extends WrapperByteEntity> getEntities() {
@XmlTransient
ValueHolderRepository entities;
-
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java
index c8fc00cba4c..e742108e615 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.bytes.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperByteHolder")
+@Named("demo.WrapperByteHolder")
//tag::class[]
public interface WrapperByteHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
index 2517742a26c..30de7c38278 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.bytes.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperByteEntity"
-)
+@Named("demo.WrapperByteEntity")
+@DomainObject
public class WrapperByteJdo // <.>
extends WrapperByteEntity {
//end::class[]
- public WrapperByteJdo(Byte initialValue) {
+ public WrapperByteJdo(final Byte initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java
index 2276a28a901..8f703e5e76b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.bytes.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperByteJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperByteEntity"
-)
+@Named("demo.WrapperByteEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperByteJpa
extends WrapperByteEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java
index 9271f7bdb8c..99be9f0b37c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.bytes.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.bytes.holder.WrapperByteHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperByteEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperByteEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperByteEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java
index 06761f18316..ea2671f6007 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.bytes.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperByteVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperByteVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperByteVm
implements HasAsciiDocDescription, WrapperByteHolder2 {
//end::class[]
- public WrapperByteVm(Byte initialValue) {
+ public WrapperByteVm(final Byte initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java
index 3b9a6cc07bd..3502f7c3109 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperCharacters", editing=Editing.ENABLED)
+@Named("demo.WrapperCharacters")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperCharacters implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java
index 6011e7c76bd..af7d920df3f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.characters.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperCharacterHolder")
+@Named("demo.WrapperCharacterHolder")
//tag::class[]
public interface WrapperCharacterHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
index bb46e81c68d..a7d30ab42a2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.characters.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperCharacterEntity"
-)
+@Named("demo.WrapperCharacterEntity")
+@DomainObject
public class WrapperCharacterJdo // <.>
extends WrapperCharacterEntity {
//end::class[]
- public WrapperCharacterJdo(Character initialValue) {
+ public WrapperCharacterJdo(final Character initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java
index c71642de215..38dfb22be59 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.characters.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperCharacterJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperCharacterEntity"
-)
+@Named("demo.WrapperCharacterEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperCharacterJpa
extends WrapperCharacterEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java
index 3833e89b6de..67f724458b6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.characters.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.characters.holder.WrapperCharacterHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperCharacterEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperCharacterEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperCharacterEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java
index 0e60a130ea4..e1e4b110fac 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.characters.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperCharacterVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperCharacterVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperCharacterVm
implements HasAsciiDocDescription, WrapperCharacterHolder2 {
//end::class[]
- public WrapperCharacterVm(Character initialValue) {
+ public WrapperCharacterVm(final Character initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java
index 2b15a9b81c5..6d41711a6ff 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperDoubles", editing=Editing.ENABLED)
+@Named("demo.WrapperDoubles")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperDoubles implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java
index 53f4a37fbd9..8ba13b4e563 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.doubles.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperDoubleHolder")
+@Named("demo.WrapperDoubleHolder")
//tag::class[]
public interface WrapperDoubleHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
index 84f10b1c838..64959109a8b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.doubles.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperDoubleEntity"
-)
+@Named("demo.WrapperDoubleEntity")
+@DomainObject
public class WrapperDoubleJdo // <.>
extends WrapperDoubleEntity {
//end::class[]
- public WrapperDoubleJdo(Double initialValue) {
+ public WrapperDoubleJdo(final Double initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java
index ac952231fb4..8c448953a3e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.doubles.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperDoubleJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperDoubleEntity"
-)
+@Named("demo.WrapperDoubleEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperDoubleJpa
extends WrapperDoubleEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java
index 70a415aef1d..a87fef51b03 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.doubles.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.doubles.holder.WrapperDoubleHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperDoubleEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperDoubleEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperDoubleEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java
index 8024a5a816c..04f283d7dde 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.doubles.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperDoubleVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperDoubleVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperDoubleVm
implements HasAsciiDocDescription, WrapperDoubleHolder2 {
//end::class[]
- public WrapperDoubleVm(Double initialValue) {
+ public WrapperDoubleVm(final Double initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java
index 0eb61dd571b..f9cf165839e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperFloats", editing=Editing.ENABLED)
+@Named("demo.WrapperFloats")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperFloats implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java
index df2734fb1b3..14f1c1979a2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.floats.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperFloatHolder")
+@Named("demo.WrapperFloatHolder")
//tag::class[]
public interface WrapperFloatHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
index 8e59304ad2e..8997126b2ef 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.floats.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperFloatEntity"
-)
+@Named("demo.WrapperFloatEntity")
+@DomainObject
public class WrapperFloatJdo // <.>
extends WrapperFloatEntity {
//end::class[]
- public WrapperFloatJdo(Float initialValue) {
+ public WrapperFloatJdo(final Float initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java
index cee5733aa21..088f6db7777 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.floats.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperFloatJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperFloatEntity"
-)
+@Named("demo.WrapperFloatEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperFloatJpa
extends WrapperFloatEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java
index 46feb4eaf44..a6b0a5c257b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.floats.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.floats.holder.WrapperFloatHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperFloatEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperFloatEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperFloatEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java
index b0a4f296f07..304e0d9bbe2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.floats.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperFloatVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperFloatVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperFloatVm
implements HasAsciiDocDescription, WrapperFloatHolder2 {
//end::class[]
- public WrapperFloatVm(Float initialValue) {
+ public WrapperFloatVm(final Float initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
index 711c852e1e6..f6ae534e77d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperIntegers", editing=Editing.ENABLED)
+@Named("demo.WrapperIntegers")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperIntegers implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
index 85473ff873e..ef121655ced 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.integers.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperIntegerHolder")
+@Named("demo.WrapperIntegerHolder")
//tag::class[]
public interface WrapperIntegerHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
index 5e276818710..b5e72b06707 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.integers.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperIntegerEntity"
-)
+@Named("demo.WrapperIntegerEntity")
+@DomainObject
public class WrapperIntegerJdo // <.>
extends WrapperIntegerEntity {
//end::class[]
- public WrapperIntegerJdo(Integer initialValue) {
+ public WrapperIntegerJdo(final Integer initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
index dbd9cfc04f3..08d26231c2a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.integers.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperIntegerJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperIntegerEntity"
-)
+@Named("demo.WrapperIntegerEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperIntegerJpa
extends WrapperIntegerEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
index b5ee7c498a7..5d37772bcf0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.integers.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.integers.holder.WrapperIntegerHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperIntegerEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperIntegerEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperIntegerEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
index dac385d28a4..62501817170 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.integers.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperIntegerVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperIntegerVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperIntegerVm
implements HasAsciiDocDescription, WrapperIntegerHolder2 {
//end::class[]
- public WrapperIntegerVm(Integer initialValue) {
+ public WrapperIntegerVm(final Integer initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java
index 0863afe9a75..3194d2243d4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperLongs", editing=Editing.ENABLED)
+@Named("demo.WrapperLongs")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperLongs implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java
index 47255b875ec..5ef90747ad4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.longs.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperLongHolder")
+@Named("demo.WrapperLongHolder")
//tag::class[]
public interface WrapperLongHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
index 14b3e907409..485a49e1765 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.longs.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperLongEntity"
-)
+@Named("demo.WrapperLongEntity")
+@DomainObject
public class WrapperLongJdo // <.>
extends WrapperLongEntity {
//end::class[]
- public WrapperLongJdo(Long initialValue) {
+ public WrapperLongJdo(final Long initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java
index c76214d008c..22ccda932af 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.longs.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperLongJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperLongEntity"
-)
+@Named("demo.WrapperLongEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperLongJpa
extends WrapperLongEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java
index 79e80459849..f382471f8d4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.longs.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.longs.holder.WrapperLongHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperLongEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperLongEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperLongEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java
index f25f524e003..f0e4041815d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.longs.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperLongVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperLongVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperLongVm
implements HasAsciiDocDescription, WrapperLongHolder2 {
//end::class[]
- public WrapperLongVm(Long initialValue) {
+ public WrapperLongVm(final Long initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java
index 71b7cdce789..f9893f9f4b0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperShorts", editing=Editing.ENABLED)
+@Named("demo.WrapperShorts")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class WrapperShorts implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java
index 257c0beb7eb..793454d4e98 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.shorts.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.WrapperShortHolder")
+@Named("demo.WrapperShortHolder")
//tag::class[]
public interface WrapperShortHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
index 269f69da927..eb5863428cb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.shorts.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.WrapperShortEntity"
-)
+@Named("demo.WrapperShortEntity")
+@DomainObject
public class WrapperShortJdo // <.>
extends WrapperShortEntity {
//end::class[]
- public WrapperShortJdo(Short initialValue) {
+ public WrapperShortJdo(final Short initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java
index 72a0a2e0184..966bd0bcbf6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.shorts.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "WrapperShortJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.WrapperShortEntity"
-)
+@Named("demo.WrapperShortEntity")
+@DomainObject
@NoArgsConstructor
public class WrapperShortJpa
extends WrapperShortEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java
index 330a3a75dbf..8a1b513449f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.shorts.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.shorts.holder.WrapperShortHolder2;
-@DomainObject(
- logicalTypeName = "demo.WrapperShortEntity" // shared permissions with concrete sub class
-)
+@Named("demo.WrapperShortEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class WrapperShortEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java
index e86d5be05f0..321b64308f3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.shorts.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.WrapperShortVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.WrapperShortVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class WrapperShortVm
implements HasAsciiDocDescription, WrapperShortHolder2 {
//end::class[]
- public WrapperShortVm(Short initialValue) {
+ public WrapperShortVm(final Short initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java
index e9b58cb92c7..fd59eae43cf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -47,7 +48,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaLangStrings", editing=Editing.ENABLED)
+@Named("demo.JavaLangStrings")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaLangStrings implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java
index d5ef0d87b46..9239581fa90 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javalang.strings.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaLangStringHolder")
+@Named("demo.JavaLangStringHolder")
//tag::class[]
public interface JavaLangStringHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
index 3046fb00710..215eeca80cd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.strings.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaLangStringEntity"
-)
+@Named("demo.JavaLangStringEntity")
+@DomainObject
public class JavaLangStringJdo // <.>
extends JavaLangStringEntity {
//end::class[]
- public JavaLangStringJdo(String initialValue) {
+ public JavaLangStringJdo(final String initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java
index d8d1fccfeae..7ec76333581 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.strings.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaLangStringJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaLangStringEntity"
-)
+@Named("demo.JavaLangStringEntity")
+@DomainObject
@NoArgsConstructor
public class JavaLangStringJpa
extends JavaLangStringEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java
index ba6cebb32f4..d3ec78d0411 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javalang.strings.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javalang.strings.holder.JavaLangStringHolder2;
-@DomainObject(
- logicalTypeName = "demo.JavaLangStringEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaLangStringEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaLangStringEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java
index ee371a03063..ba0bf882df6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.strings.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,10 +43,9 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaLangStringVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaLangStringVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaLangStringVm
implements HasAsciiDocDescription, JavaLangStringHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java
index 018568c96f9..85a6bfdc4f6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javalang.voids;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -37,7 +38,8 @@
@XmlRootElement(name = "demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaLangVoids", editing=Editing.ENABLED)
+@Named("demo.JavaLangVoids")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaLangVoids implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java
index c1989b7097d..4a6cd007161 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaMathBigDecimals", editing=Editing.ENABLED)
+@Named("demo.JavaMathBigDecimals")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaMathBigDecimals implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java
index 3675cd5aabb..8ce1dcc86b3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javamath.bigdecimals.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaMathBigDecimalHolder")
+@Named("demo.JavaMathBigDecimalHolder")
//tag::class[]
public interface JavaMathBigDecimalHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java
index 31f6ad8598f..ea77d104f7b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javamath.bigdecimals.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,9 +43,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaMathBigDecimalEntity"
-)
+@Named("demo.JavaMathBigDecimalEntity")
+@DomainObject
public class JavaMathBigDecimalJdo // <.>
extends JavaMathBigDecimalEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java
index 9d2c095380b..ca23e1d33d1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javamath.bigdecimals.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaMathBigDecimalJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaMathBigDecimalEntity"
-)
+@Named("demo.JavaMathBigDecimalEntity")
+@DomainObject
@NoArgsConstructor
public class JavaMathBigDecimalJpa // <.>
extends JavaMathBigDecimalEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java
index 1f0018a969c..d3cfa14304f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java
@@ -20,15 +20,16 @@
import java.math.BigDecimal;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javamath.bigdecimals.holder.JavaMathBigDecimalHolder2;
-@DomainObject(
- logicalTypeName = "demo.JavaMathBigDecimalEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaMathBigDecimalEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaMathBigDecimalEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java
index 874545ffcda..36c0302bc7a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javamath.bigdecimals.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -33,6 +34,7 @@
import org.apache.isis.applib.annotation.Title;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import lombok.Setter;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
@@ -42,16 +44,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaMathBigDecimalVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaMathBigDecimalVm"
-)
-@lombok.NoArgsConstructor // <.>
+ nature=Nature.VIEW_MODEL)
+@NoArgsConstructor // <.>
public class JavaMathBigDecimalVm
implements HasAsciiDocDescription, JavaMathBigDecimalHolder2 {
//end::class[]
- public JavaMathBigDecimalVm(java.math.BigDecimal initialValue) {
+ public JavaMathBigDecimalVm(final java.math.BigDecimal initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java
index cd4de317de7..d1bfa2367bb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaMathBigIntegers", editing=Editing.ENABLED)
+@Named("demo.JavaMathBigIntegers")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaMathBigIntegers implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java
index fe385f3909e..9d077feff92 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javamath.bigintegers.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaMathBigIntegerHolder")
+@Named("demo.JavaMathBigIntegerHolder")
//tag::class[]
public interface JavaMathBigIntegerHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java
index 246b37aa635..98afd77fb0e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javamath.bigintegers.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaMathBigIntegerEntity"
-)
+@Named("demo.JavaMathBigIntegerEntity")
+@DomainObject
public class JavaMathBigIntegerJdo // <.>
extends JavaMathBigIntegerEntity {
//end::class[]
- public JavaMathBigIntegerJdo(java.math.BigInteger initialValue) {
+ public JavaMathBigIntegerJdo(final java.math.BigInteger initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java
index 896b86e8f0e..65787cfa833 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javamath.bigintegers.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaMathBigIntegerJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaMathBigIntegerEntity"
-)
+@Named("demo.JavaMathBigIntegerEntity")
+@DomainObject
@NoArgsConstructor
public class JavaMathBigIntegerJpa
extends JavaMathBigIntegerEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java
index 0800603155a..012a3a325ba 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java
@@ -20,15 +20,16 @@
import java.math.BigInteger;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javamath.bigintegers.holder.JavaMathBigIntegerHolder2;
-@DomainObject(
- logicalTypeName = "demo.JavaMathBigIntegerEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaMathBigIntegerEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaMathBigIntegerEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java
index 023240d878a..a57324f1274 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javamath.bigintegers.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaMathBigIntegerVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaMathBigIntegerVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaMathBigIntegerVm
implements HasAsciiDocDescription, JavaMathBigIntegerHolder2 {
//end::class[]
- public JavaMathBigIntegerVm(java.math.BigInteger initialValue) {
+ public JavaMathBigIntegerVm(final java.math.BigInteger initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java
index aeb0bcb1688..f5c5c7204a5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +49,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaNetUrls", editing=Editing.ENABLED)
+@Named("demo.JavaNetUrls")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaNetUrls implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java
index a80b71992f2..dc5859cc2e8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javanet.urls.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaNetUrlHolder")
+@Named("demo.JavaNetUrlHolder")
//tag::class[]
public interface JavaNetUrlHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java
index 8e97e4090b8..7a7d298aec2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javanet.urls.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaNetUrlEntity"
-)
+@Named("demo.JavaNetUrlEntity")
+@DomainObject
public class JavaNetUrlJdo // <.>
extends JavaNetUrlEntity {
//end::class[]
- public JavaNetUrlJdo(java.net.URL initialValue) {
+ public JavaNetUrlJdo(final java.net.URL initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java
index 584194dd2f7..c7339ba22d8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javanet.urls.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaNetUrlJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaNetUrlEntity"
-)
+@Named("demo.JavaNetUrlEntity")
+@DomainObject
@NoArgsConstructor
public class JavaNetUrlJpa
extends JavaNetUrlEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java
index fa7a0c35db1..0b38157cd9f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javanet.urls.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javanet.urls.holder.JavaNetUrlHolder2;
-@DomainObject(
- logicalTypeName = "demo.JavaNetUrlEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaNetUrlEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaNetUrlEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java
index 35072461858..ba6c48c9fd3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javanet.urls.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaNetUrlVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaNetUrlVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaNetUrlVm
implements HasAsciiDocDescription, JavaNetUrlHolder2 {
//end::class[]
- public JavaNetUrlVm(java.net.URL initialValue) {
+ public JavaNetUrlVm(final java.net.URL initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java
index ff2f03857ac..5112de5e221 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaSqlDates", editing=Editing.ENABLED)
+@Named("demo.JavaSqlDates")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaSqlDates implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java
index 85fee85d710..a03f707b0b4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javasql.javasqldate.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaSqlDateHolder")
+@Named("demo.JavaSqlDateHolder")
//tag::class[]
public interface JavaSqlDateHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java
index a80481b9496..2867b1f6b07 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javasql.javasqldate.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaSqlDateEntity"
-)
+@Named("demo.JavaSqlDateEntity")
+@DomainObject
public class JavaSqlDateJdo // <.>
extends JavaSqlDateEntity {
//end::class[]
- public JavaSqlDateJdo(java.sql.Date initialValue) {
+ public JavaSqlDateJdo(final java.sql.Date initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java
index ebbae9df4a1..3cce1598960 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javasql.javasqldate.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaSqlDateJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaSqlDateEntity"
-)
+@Named("demo.JavaSqlDateEntity")
+@DomainObject
@NoArgsConstructor
public class JavaSqlDateJpa
extends JavaSqlDateEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java
index c1589d4dad8..17689c36b13 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javasql.javasqldate.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javasql.javasqldate.holder.JavaSqlDateHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaSqlDateEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaSqlDateEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaSqlDateEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java
index 17c670c0845..8280a906a52 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javasql.javasqldate.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaSqlDateVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaSqlDateVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaSqlDateVm
implements HasAsciiDocDescription, JavaSqlDateHolder3 {
//end::class[]
- public JavaSqlDateVm(java.sql.Date initialValue) {
+ public JavaSqlDateVm(final java.sql.Date initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java
index eb3734a9ab4..3412dc92571 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaSqlTimestamps", editing=Editing.ENABLED)
+@Named("demo.JavaSqlTimestamps")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaSqlTimestamps implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java
index 0912ee6b120..1f171f3295d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javasql.javasqltimestamp.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaSqlTimestampHolder")
+@Named("demo.JavaSqlTimestampHolder")
//tag::class[]
public interface JavaSqlTimestampHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java
index 972848f7289..5d4a61ec8ef 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javasql.javasqltimestamp.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaSqlTimestampEntity"
-)
+@Named("demo.JavaSqlTimestampEntity")
+@DomainObject
public class JavaSqlTimestampJdo // <.>
extends JavaSqlTimestampEntity {
//end::class[]
- public JavaSqlTimestampJdo(java.sql.Timestamp initialValue) {
+ public JavaSqlTimestampJdo(final java.sql.Timestamp initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java
index fdf34b3d7d9..d796a1377be 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javasql.javasqltimestamp.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaSqlTimestampJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaSqlTimestampEntity"
-)
+@Named("demo.JavaSqlTimestampEntity")
+@DomainObject
@NoArgsConstructor
public class JavaSqlTimestampJpa
extends JavaSqlTimestampEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java
index 3df9d0be3b6..a602295c94b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javasql.javasqltimestamp.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javasql.javasqltimestamp.holder.JavaSqlTimestampHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaSqlTimestampEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaSqlTimestampEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaSqlTimestampEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java
index b86e47546df..0f7f52ea9d9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javasql.javasqltimestamp.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaSqlTimestampVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaSqlTimestampVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaSqlTimestampVm
implements HasAsciiDocDescription, JavaSqlTimestampHolder3 {
//end::class[]
- public JavaSqlTimestampVm(java.sql.Timestamp initialValue) {
+ public JavaSqlTimestampVm(final java.sql.Timestamp initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java
index b836457fabe..ac29c4391d2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeLocalDates", editing=Editing.ENABLED)
+@Named("demo.JavaTimeLocalDates")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaTimeLocalDates implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java
index a5de7716a41..eb568c597fa 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javatime.javatimelocaldate.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaTimeLocalDateHolder")
+@Named("demo.JavaTimeLocalDateHolder")
//tag::class[]
public interface JavaTimeLocalDateHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java
index a04f2e4bc91..00ba76b029a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaldate.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalDateEntity"
-)
+@Named("demo.JavaTimeLocalDateEntity")
+@DomainObject
public class JavaTimeLocalDateJdo // <.>
extends JavaTimeLocalDateEntity {
//end::class[]
- public JavaTimeLocalDateJdo(java.time.LocalDate initialValue) {
+ public JavaTimeLocalDateJdo(final java.time.LocalDate initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java
index b72fd53292d..8bf9749b37a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaldate.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaTimeLocalDateJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalDateEntity"
-)
+@Named("demo.JavaTimeLocalDateEntity")
+@DomainObject
@NoArgsConstructor
public class JavaTimeLocalDateJpa
extends JavaTimeLocalDateEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java
index d1406f41418..6f58a32a8f7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javatime.javatimelocaldate.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javatime.javatimelocaldate.holder.JavaTimeLocalDateHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalDateEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaTimeLocalDateEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaTimeLocalDateEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java
index ceb182efaf7..81cde595036 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaldate.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaTimeLocalDateVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaTimeLocalDateVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaTimeLocalDateVm
implements HasAsciiDocDescription, JavaTimeLocalDateHolder3 {
//end::class[]
- public JavaTimeLocalDateVm(java.time.LocalDate initialValue) {
+ public JavaTimeLocalDateVm(final java.time.LocalDate initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java
index dd1df41bb68..d26b6c7af22 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeLocalDateTimes", editing=Editing.ENABLED)
+@Named("demo.JavaTimeLocalDateTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaTimeLocalDateTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java
index 31baf745d32..fa44a50dd35 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javatime.javatimelocaldatetime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaTimeLocalDateTimeHolder")
+@Named("demo.JavaTimeLocalDateTimeHolder")
//tag::class[]
public interface JavaTimeLocalDateTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java
index 6bcc361362f..cb5433fbccf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaldatetime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalDateTimeEntity"
-)
+@Named("demo.JavaTimeLocalDateTimeEntity")
+@DomainObject
public class JavaTimeLocalDateTimeJdo // <.>
extends JavaTimeLocalDateTimeEntity {
//end::class[]
- public JavaTimeLocalDateTimeJdo(java.time.LocalDateTime initialValue) {
+ public JavaTimeLocalDateTimeJdo(final java.time.LocalDateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java
index 5fd29047e5d..47efaa17a7f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaldatetime.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaTimeLocalDateTimeJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalDateTimeEntity"
-)
+@Named("demo.JavaTimeLocalDateTimeEntity")
+@DomainObject
@NoArgsConstructor
public class JavaTimeLocalDateTimeJpa
extends JavaTimeLocalDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java
index d18f9e1001d..31c804c5cc8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javatime.javatimelocaldatetime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javatime.javatimelocaldatetime.holder.JavaTimeLocalDateTimeHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalDateTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaTimeLocalDateTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaTimeLocalDateTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java
index c1a0072ee70..4e8deae5de4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaldatetime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaTimeLocalDateTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaTimeLocalDateTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaTimeLocalDateTimeVm
implements HasAsciiDocDescription, JavaTimeLocalDateTimeHolder3 {
//end::class[]
- public JavaTimeLocalDateTimeVm(java.time.LocalDateTime initialValue) {
+ public JavaTimeLocalDateTimeVm(final java.time.LocalDateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/JavaTimeLocalTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/JavaTimeLocalTimes.java
index b6047a48123..5a08c1ed564 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/JavaTimeLocalTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/JavaTimeLocalTimes.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeLocalTimes", editing=Editing.ENABLED)
+@Named("demo.JavaTimeLocalTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaTimeLocalTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder.java
index fd922ee0a92..ecef8686452 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javatime.javatimelocaltime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaTimeLocalTimeHolder")
+@Named("demo.JavaTimeLocalTimeHolder")
//tag::class[]
public interface JavaTimeLocalTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jdo/JavaTimeLocalTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jdo/JavaTimeLocalTimeJdo.java
index 6a478409257..d50d9b708ce 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jdo/JavaTimeLocalTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jdo/JavaTimeLocalTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaltime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -33,17 +34,17 @@
import org.apache.isis.applib.annotation.PropertyLayout;
import org.apache.isis.applib.annotation.Title;
-import demoapp.dom.types.javatime.javatimelocaltime.persistence.JavaTimeLocalTimeEntity;
import lombok.Getter;
import lombok.Setter;
+import demoapp.dom.types.javatime.javatimelocaltime.persistence.JavaTimeLocalTimeEntity;
+
@Profile("demo-jdo")
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalTimeEntity"
-)
+@Named("demo.JavaTimeLocalTimeEntity")
+@DomainObject
public class JavaTimeLocalTimeJdo
extends JavaTimeLocalTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jpa/JavaTimeLocalTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jpa/JavaTimeLocalTimeJpa.java
index f6fb6e617c6..f734a888ad2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jpa/JavaTimeLocalTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/jpa/JavaTimeLocalTimeJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaltime.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -35,11 +36,12 @@
import org.apache.isis.applib.annotation.Title;
import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
-import demoapp.dom.types.javatime.javatimelocaltime.persistence.JavaTimeLocalTimeEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
+import demoapp.dom.types.javatime.javatimelocaltime.persistence.JavaTimeLocalTimeEntity;
+
@Profile("demo-jpa")
//tag::class[]
@Entity
@@ -48,9 +50,8 @@
name = "JavaTimeLocalTimeJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalTimeEntity"
-)
+@Named("demo.JavaTimeLocalTimeEntity")
+@DomainObject
@NoArgsConstructor
public class JavaTimeLocalTimeJpa
extends JavaTimeLocalTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/persistence/JavaTimeLocalTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/persistence/JavaTimeLocalTimeEntity.java
index fe5248d00ca..d0a6f225d61 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/persistence/JavaTimeLocalTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/persistence/JavaTimeLocalTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javatime.javatimelocaltime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javatime.javatimelocaltime.holder.JavaTimeLocalTimeHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaTimeLocalTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaTimeLocalTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaTimeLocalTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/vm/JavaTimeLocalTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/vm/JavaTimeLocalTimeVm.java
index 1cb87ab3187..fd5dcc0efc9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/vm/JavaTimeLocalTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/vm/JavaTimeLocalTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimelocaltime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -34,19 +35,19 @@
import org.apache.isis.applib.annotation.Title;
import org.apache.isis.applib.jaxb.JavaTimeJaxbAdapters;
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.types.javatime.javatimelocaltime.holder.JavaTimeLocalTimeHolder3;
import lombok.Getter;
import lombok.Setter;
+import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+import demoapp.dom.types.javatime.javatimelocaltime.holder.JavaTimeLocalTimeHolder3;
+
//tag::class[]
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaTimeLocalTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaTimeLocalTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaTimeLocalTimeVm
implements HasAsciiDocDescription, JavaTimeLocalTimeHolder3 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java
index 868b9622b22..5423cf691d5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -47,7 +48,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeOffsetDateTimes", editing=Editing.ENABLED)
+@Named("demo.JavaTimeOffsetDateTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaTimeOffsetDateTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java
index 2503ddcc518..10a5e7abb54 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javatime.javatimeoffsetdatetime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaTimeOffsetDateTimeHolder")
+@Named("demo.JavaTimeOffsetDateTimeHolder")
//tag::class[]
public interface JavaTimeOffsetDateTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
index 41e95f7bf67..983ff333094 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimeoffsetdatetime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaTimeOffsetDateTimeEntity"
-)
+@Named("demo.JavaTimeOffsetDateTimeEntity")
+@DomainObject
public class JavaTimeOffsetDateTimeJdo // <.>
extends JavaTimeOffsetDateTimeEntity {
//end::class[]
- public JavaTimeOffsetDateTimeJdo(java.time.OffsetDateTime initialValue) {
+ public JavaTimeOffsetDateTimeJdo(final java.time.OffsetDateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
index d348aab9775..4a2684002b1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimeoffsetdatetime.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaTimeOffsetDateTimeJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaTimeOffsetDateTimeEntity"
-)
+@Named("demo.JavaTimeOffsetDateTimeEntity")
+@DomainObject
@NoArgsConstructor
public class JavaTimeOffsetDateTimeJpa
extends JavaTimeOffsetDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
index 9574de00d25..3992eaa7610 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javatime.javatimeoffsetdatetime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javatime.javatimeoffsetdatetime.holder.JavaTimeOffsetDateTimeHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaTimeOffsetTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaTimeOffsetTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaTimeOffsetDateTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
index c64a3477ec7..37a948e5d84 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimeoffsetdatetime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaTimeOffsetDateTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaTimeOffsetDateTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaTimeOffsetDateTimeVm
implements HasAsciiDocDescription, JavaTimeOffsetDateTimeHolder3 {
//end::class[]
- public JavaTimeOffsetDateTimeVm(java.time.OffsetDateTime initialValue) {
+ public JavaTimeOffsetDateTimeVm(final java.time.OffsetDateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java
index 727c0051799..d6b582c60d1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -47,7 +48,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeOffsetTimes", editing=Editing.ENABLED)
+@Named("demo.JavaTimeOffsetTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaTimeOffsetTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java
index 9ba49ea49ce..d8a4f0112f6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javatime.javatimeoffsettime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaTimeOffsetTimeHolder")
+@Named("demo.JavaTimeOffsetTimeHolder")
//tag::class[]
public interface JavaTimeOffsetTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
index 82512cf280c..7e7eddfd829 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimeoffsettime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaTimeOffsetTimeEntity"
-)
+@Named("demo.JavaTimeOffsetTimeEntity")
+@DomainObject
public class JavaTimeOffsetTimeJdo // <.>
extends JavaTimeOffsetTimeEntity {
//end::class[]
- public JavaTimeOffsetTimeJdo(java.time.OffsetTime initialValue) {
+ public JavaTimeOffsetTimeJdo(final java.time.OffsetTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
index 7bd25cc69ae..cbd673b73fd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimeoffsettime.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaTimeOffsetTimeJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaTimeOffsetTimeEntity"
-)
+@Named("demo.JavaTimeOffsetTimeEntity")
+@DomainObject
@NoArgsConstructor
public class JavaTimeOffsetTimeJpa
extends JavaTimeOffsetTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
index 2367c838c36..ae4e481844d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javatime.javatimeoffsettime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javatime.javatimeoffsettime.holder.JavaTimeOffsetTimeHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaTimeOffsetTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaTimeOffsetTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaTimeOffsetTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
index ae29fe1e0f0..1f7c0d54c9f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimeoffsettime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaTimeOffsetTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaTimeOffsetTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaTimeOffsetTimeVm
implements HasAsciiDocDescription, JavaTimeOffsetTimeHolder3 {
//end::class[]
- public JavaTimeOffsetTimeVm(java.time.OffsetTime initialValue) {
+ public JavaTimeOffsetTimeVm(final java.time.OffsetTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java
index 9adcd135f19..ab391b61f1c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -47,7 +48,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeZonedDateTimes", editing=Editing.ENABLED)
+@Named("demo.JavaTimeZonedDateTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaTimeZonedDateTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java
index 6f3fdd4b7d7..42ac354f2c3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javatime.javatimezoneddatetime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaTimeZonedDateTimeHolder")
+@Named("demo.JavaTimeZonedDateTimeHolder")
//tag::class[]
public interface JavaTimeZonedDateTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java
index c1c675b802a..ed2c0e2a2eb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimezoneddatetime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaTimeZonedDateTimeEntity"
-)
+@Named("demo.JavaTimeZonedDateTimeEntity")
+@DomainObject
public class JavaTimeZonedDateTimeJdo // <.>
extends JavaTimeZonedDateTimeEntity {
//end::class[]
- public JavaTimeZonedDateTimeJdo(java.time.ZonedDateTime initialValue) {
+ public JavaTimeZonedDateTimeJdo(final java.time.ZonedDateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java
index e0f7cfc6f2b..c22525a0606 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimezoneddatetime.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaTimeZonedDateTimeJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaTimeZonedDateTimeEntity"
-)
+@Named("demo.JavaTimeZonedDateTimeEntity")
+@DomainObject
@NoArgsConstructor
public class JavaTimeZonedDateTimeJpa
extends JavaTimeZonedDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java
index f6baf95e260..a691438e42e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javatime.javatimezoneddatetime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javatime.javatimezoneddatetime.holder.JavaTimeZonedDateTimeHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaTimeZonedDateTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaTimeZonedDateTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaTimeZonedDateTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java
index 8d51038ad31..724711a2300 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javatime.javatimezoneddatetime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaTimeZonedDateTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaTimeZonedDateTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaTimeZonedDateTimeVm
implements HasAsciiDocDescription, JavaTimeZonedDateTimeHolder3 {
//end::class[]
- public JavaTimeZonedDateTimeVm(java.time.ZonedDateTime initialValue) {
+ public JavaTimeZonedDateTimeVm(final java.time.ZonedDateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java
index d6a954daf67..a2bd63f694f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,7 +47,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaUtilDates", editing=Editing.ENABLED)
+@Named("demo.JavaUtilDates")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaUtilDates implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java
index 6fc2ac322e1..f75dbc505a0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javautil.javautildate.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaUtilDateHolder")
+@Named("demo.JavaUtilDateHolder")
//tag::class[]
public interface JavaUtilDateHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java
index bcb8660d83e..06c067a0b17 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javautil.javautildate.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaUtilDateEntity"
-)
+@Named("demo.JavaUtilDateEntity")
+@DomainObject
public class JavaUtilDateJdo // <.>
extends JavaUtilDateEntity {
//end::class[]
- public JavaUtilDateJdo(java.util.Date initialValue) {
+ public JavaUtilDateJdo(final java.util.Date initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java
index 6dd8eea7a74..bd55832e188 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javautil.javautildate.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaUtilDateJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaUtilDateEntity"
-)
+@Named("demo.JavaUtilDateEntity")
+@DomainObject
@NoArgsConstructor
public class JavaUtilDateJpa
extends JavaUtilDateEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java
index 0b9cb5241ad..05036be9410 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javautil.javautildate.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javautil.javautildate.holder.JavaUtilDateHolder3;
-@DomainObject(
- logicalTypeName = "demo.JavaUtilDateEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaUtilDateEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaUtilDateEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java
index adeaca5a8c1..1bca2f1795e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javautil.javautildate.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -44,16 +45,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaUtilDateVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaUtilDateVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaUtilDateVm
implements HasAsciiDocDescription, JavaUtilDateHolder3 {
//end::class[]
- public JavaUtilDateVm(java.util.Date initialValue) {
+ public JavaUtilDateVm(final java.util.Date initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java
index 1660a602406..ffb0f42e2a8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -47,7 +48,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaUtilUuids", editing=Editing.ENABLED)
+@Named("demo.JavaUtilUuids")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JavaUtilUuids implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java
index feb616bdfaa..50e2c9a04a4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.javautil.uuids.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JavaUtilUuidHolder")
+@Named("demo.JavaUtilUuidHolder")
//tag::class[]
public interface JavaUtilUuidHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java
index 208bcd7ac55..a471ff84816 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javautil.uuids.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JavaUtilUuidEntity"
-)
+@Named("demo.JavaUtilUuidEntity")
+@DomainObject
public class JavaUtilUuidJdo // <.>
extends JavaUtilUuidEntity {
//end::class[]
- public JavaUtilUuidJdo(java.util.UUID initialValue) {
+ public JavaUtilUuidJdo(final java.util.UUID initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java
index 5a9aafa3a7c..4a6a9324a48 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javautil.uuids.jpa;
+import javax.inject.Named;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
@@ -49,9 +50,8 @@
name = "JavaUtilUuidJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.JavaUtilUuidEntity"
-)
+@Named("demo.JavaUtilUuidEntity")
+@DomainObject
@NoArgsConstructor
public class JavaUtilUuidJpa
extends JavaUtilUuidEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java
index 70933662243..445e9754f1b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.javautil.uuids.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.javautil.uuids.holder.JavaUtilUuidHolder2;
-@DomainObject(
- logicalTypeName = "demo.JavaUtilUuidEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JavaUtilUuidEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JavaUtilUuidEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java
index dda1dea5bae..91f93d8e1f5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.javautil.uuids.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -42,16 +43,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JavaUtilUuidVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JavaUtilUuidVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JavaUtilUuidVm
implements HasAsciiDocDescription, JavaUtilUuidHolder2 {
//end::class[]
- public JavaUtilUuidVm(java.util.UUID initialValue) {
+ public JavaUtilUuidVm(final java.util.UUID initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java
index 7bd6e4739ff..4a1b57e4ad9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -50,7 +51,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaDateTimes", editing=Editing.ENABLED)
+@Named("demo.JodaDateTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JodaDateTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java
index 549b213b45d..8519a71e588 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.jodatime.jodadatetime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JodaDateTimeHolder")
+@Named("demo.JodaDateTimeHolder")
//tag::class[]
public interface JodaDateTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java
index bd81adca51f..65441b15578 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodadatetime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JodaDateTimeEntity"
-)
+@Named("demo.JodaDateTimeEntity")
+@DomainObject
public class JodaDateTimeJdo // <.>
extends JodaDateTimeEntity {
//end::class[]
- public JodaDateTimeJdo(org.joda.time.DateTime initialValue) {
+ public JodaDateTimeJdo(final org.joda.time.DateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java
index 69d944818b5..610f0e88d36 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.jodatime.jodadatetime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.jodatime.jodadatetime.holder.JodaDateTimeHolder3;
-@DomainObject(
- logicalTypeName = "demo.JodaDateTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JodaDateTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JodaDateTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java
index ba3b673dc06..87e208126b3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodadatetime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -34,19 +35,19 @@
import org.apache.isis.applib.annotation.Title;
import org.apache.isis.valuetypes.jodatime.applib.jaxb.JodaTimeJaxbAdapters;
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.types.jodatime.jodadatetime.holder.JodaDateTimeHolder3;
import lombok.Getter;
import lombok.Setter;
+import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+import demoapp.dom.types.jodatime.jodadatetime.holder.JodaDateTimeHolder3;
+
//tag::class[]
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JodaDateTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JodaDateTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JodaDateTimeVm
implements HasAsciiDocDescription, JodaDateTimeHolder3 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java
index c42dba9543d..a589e866442 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -51,7 +52,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaLocalDates", editing=Editing.ENABLED)
+@Named("demo.JodaLocalDates")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JodaLocalDates implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java
index bde3c85f1f6..4a86031be3e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.jodatime.jodalocaldate.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JodaLocalDateHolder")
+@Named("demo.JodaLocalDateHolder")
//tag::class[]
public interface JodaLocalDateHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java
index 234b5659839..a58117c7190 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodalocaldate.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JodaLocalDateEntity"
-)
+@Named("demo.JodaLocalDateEntity")
+@DomainObject
public class JodaLocalDateJdo // <.>
extends JodaLocalDateEntity {
//end::class[]
- public JodaLocalDateJdo(org.joda.time.LocalDate initialValue) {
+ public JodaLocalDateJdo(final org.joda.time.LocalDate initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java
index b0650a3854a..ca89a8a2a6e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.jodatime.jodalocaldate.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.jodatime.jodalocaldate.holder.JodaLocalDateHolder3;
-@DomainObject(
- logicalTypeName = "demo.JodaLocalDateEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JodaLocalDateEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JodaLocalDateEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java
index d487fd9f264..04dd51dd510 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodalocaldate.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -34,19 +35,19 @@
import org.apache.isis.applib.annotation.Title;
import org.apache.isis.valuetypes.jodatime.applib.jaxb.JodaTimeJaxbAdapters;
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.types.jodatime.jodalocaldate.holder.JodaLocalDateHolder3;
import lombok.Getter;
import lombok.Setter;
+import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+import demoapp.dom.types.jodatime.jodalocaldate.holder.JodaLocalDateHolder3;
+
//tag::class[]
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JodaLocalDateVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JodaLocalDateVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JodaLocalDateVm
implements HasAsciiDocDescription, JodaLocalDateHolder3 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java
index f81226afff9..0874ed96848 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -51,7 +52,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaLocalDateTimes", editing=Editing.ENABLED)
+@Named("demo.JodaLocalDateTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JodaLocalDateTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java
index c7741b318e1..78dfb413e59 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.jodatime.jodalocaldatetime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JodaLocalDateTimeHolder")
+@Named("demo.JodaLocalDateTimeHolder")
//tag::class[]
public interface JodaLocalDateTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java
index 7198a5c5adf..c272cb346f0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodalocaldatetime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JodaLocalDateTimeEntity"
-)
+@Named("demo.JodaLocalDateTimeEntity")
+@DomainObject
public class JodaLocalDateTimeJdo // <.>
extends JodaLocalDateTimeEntity {
//end::class[]
- public JodaLocalDateTimeJdo(org.joda.time.LocalDateTime initialValue) {
+ public JodaLocalDateTimeJdo(final org.joda.time.LocalDateTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java
index 66712971d4c..98b3f77479b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.jodatime.jodalocaldatetime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.jodatime.jodalocaldatetime.holder.JodaLocalDateTimeHolder3;
-@DomainObject(
- logicalTypeName = "demo.JodaLocalDateTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JodaLocalDateTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JodaLocalDateTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java
index f093f0a29a9..83a4df6e2e7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodalocaldatetime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -34,19 +35,19 @@
import org.apache.isis.applib.annotation.Title;
import org.apache.isis.valuetypes.jodatime.applib.jaxb.JodaTimeJaxbAdapters;
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.types.jodatime.jodalocaldatetime.holder.JodaLocalDateTimeHolder3;
import lombok.Getter;
import lombok.Setter;
+import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+import demoapp.dom.types.jodatime.jodalocaldatetime.holder.JodaLocalDateTimeHolder3;
+
//tag::class[]
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JodaLocalDateTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JodaLocalDateTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JodaLocalDateTimeVm
implements HasAsciiDocDescription, JodaLocalDateTimeHolder3 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java
index 2467b9f5b94..7edeea03663 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java
@@ -22,6 +22,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -51,7 +52,8 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaLocalTimes", editing=Editing.ENABLED)
+@Named("demo.JodaLocalTimes")
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
//@Log4j2
public class JodaLocalTimes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java
index bf3ceda63c2..627399006ed 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.jodatime.jodalocaltime.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.JodaLocalTimeHolder")
+@Named("demo.JodaLocalTimeHolder")
//tag::class[]
public interface JodaLocalTimeHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java
index e824f8a2f4b..4c731aabcc1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodalocaltime.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
@@ -42,14 +43,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.JodaLocalTimeEntity"
-)
+@Named("demo.JodaLocalTimeEntity")
+@DomainObject
public class JodaLocalTimeJdo // <.>
extends JodaLocalTimeEntity {
//end::class[]
- public JodaLocalTimeJdo(org.joda.time.LocalTime initialValue) {
+ public JodaLocalTimeJdo(final org.joda.time.LocalTime initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java
index 4aceb7f67dc..eed28da20dd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.jodatime.jodalocaltime.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.jodatime.jodalocaltime.holder.JodaLocalTimeHolder2;
-@DomainObject(
- logicalTypeName = "demo.JodaLocalTimeEntity" // shared permissions with concrete sub class
-)
+@Named("demo.JodaLocalTimeEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class JodaLocalTimeEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java
index ced3bcfd272..a93c9aeb5cc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.jodatime.jodalocaltime.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -34,19 +35,19 @@
import org.apache.isis.applib.annotation.Title;
import org.apache.isis.valuetypes.jodatime.applib.jaxb.JodaTimeJaxbAdapters;
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.types.jodatime.jodalocaltime.holder.JodaLocalTimeHolder2;
import lombok.Getter;
import lombok.Setter;
+import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+import demoapp.dom.types.jodatime.jodalocaltime.holder.JodaLocalTimeHolder2;
+
//tag::class[]
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.JodaLocalTimeVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.JodaLocalTimeVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class JodaLocalTimeVm
implements HasAsciiDocDescription, JodaLocalTimeHolder2 {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
index a6da5ca7564..a1da1e497c4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveBooleans")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveBooleans",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveBooleans implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
index 28c96099657..fff8dee8de3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
@@ -18,11 +18,12 @@
*/
package demoapp.dom.types.primitive.booleans.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
-@LogicalTypeName("demo.PrimitiveBooleanHolder")
+@Named("demo.PrimitiveBooleanHolder")
//tag::class[]
public interface PrimitiveBooleanHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
index f0e3b8b8bef..2a39dd129f7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.booleans.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,9 +41,8 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveBooleanEntity"
-)
+@Named("demo.PrimitiveBooleanEntity")
+@DomainObject
public class PrimitiveBooleanJdo // <.>
extends PrimitiveBooleanEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java
index 4e86ac3b29f..adc5f89302d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.booleans.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveBooleanJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveBooleanEntity"
-)
+@Named("demo.PrimitiveBooleanEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveBooleanJpa
extends PrimitiveBooleanEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java
index b5afeaffb97..10020604d1b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.booleans.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveBooleanEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveBooleanEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveBooleanEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
index e175f9c3e88..e203124e710 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.booleans.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveBooleanVm")
@DomainObject(
- nature= Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveBooleanVm"
-)
+ nature= Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveBooleanVm
implements HasAsciiDocDescription, PrimitiveBooleanHolder2 {
//end::class[]
- public PrimitiveBooleanVm(boolean initialValue) {
+ public PrimitiveBooleanVm(final boolean initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
index 20a6e22d1c4..8e98f092067 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveBytes")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveBytes",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveBytes implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java
index 04a922cae6d..20065a03d7d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.primitive.bytes.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.PrimitiveByteHolder")
+@Named("demo.PrimitiveByteHolder")
//tag::class[]
public interface PrimitiveByteHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
index cd99e72e41c..aa571e1f685 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.bytes.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,14 +41,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveByteEntity"
-)
+@Named("demo.PrimitiveByteEntity")
+@DomainObject
public class PrimitiveByteJdo // <.>
extends PrimitiveByteEntity {
//end::class[]
- public PrimitiveByteJdo(byte initialValue) {
+ public PrimitiveByteJdo(final byte initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
index 0232b67daf8..5b613b45b03 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.bytes.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveByteJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveByteEntity"
-)
+@Named("demo.PrimitiveByteEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveByteJpa
extends PrimitiveByteEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
index e639e0373a4..5e76861246a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.bytes.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.bytes.holder.PrimitiveByteHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveByteEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveByteEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveByteEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
index b18f0ba6652..77914c6bd72 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.bytes.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveByteVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveByteVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveByteVm
implements HasAsciiDocDescription, PrimitiveByteHolder2 {
//end::class[]
- public PrimitiveByteVm(byte initialValue) {
+ public PrimitiveByteVm(final byte initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java
index 52890494327..1a3b4540db3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveChars")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveChars",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveChars implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
index 692da423f92..64841e76bea 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.primitive.chars.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.PrimitiveCharHolder")
+@Named("demo.PrimitiveCharHolder")
//tag::class[]
public interface PrimitiveCharHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java
index 2bedb68c409..13b65ec7f2c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.chars.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,14 +41,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveCharEntity"
-)
+@Named("demo.PrimitiveCharEntity")
+@DomainObject
public class PrimitiveCharJdo // <.>
extends PrimitiveCharEntity {
//end::class[]
- public PrimitiveCharJdo(char initialValue) {
+ public PrimitiveCharJdo(final char initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java
index 550c50cf2ad..4eced079b23 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.chars.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveCharJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveCharEntity"
-)
+@Named("demo.PrimitiveCharEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveCharJpa
extends PrimitiveCharEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java
index aad863b886c..fc1dd15f3f0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.chars.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.chars.holder.PrimitiveCharHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveCharEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveCharEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveCharEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java
index 383d327ac30..f485e96fcab 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.chars.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveCharVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveCharVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveCharVm
implements HasAsciiDocDescription, PrimitiveCharHolder2 {
//end::class[]
- public PrimitiveCharVm(char initialValue) {
+ public PrimitiveCharVm(final char initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
index dd88ec30479..738817d7cdb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveDoubles")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveDoubles",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveDoubles implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java
index 2379b50dfe8..7de58944034 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.primitive.doubles.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.PrimitiveDoubleHolder")
+@Named("demo.PrimitiveDoubleHolder")
//tag::class[]
public interface PrimitiveDoubleHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
index 28052d9f9e7..74592c55464 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.doubles.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,14 +41,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveDoubleEntity"
-)
+@Named("demo.PrimitiveDoubleEntity")
+@DomainObject
public class PrimitiveDoubleJdo // <.>
extends PrimitiveDoubleEntity {
//end::class[]
- public PrimitiveDoubleJdo(double initialValue) {
+ public PrimitiveDoubleJdo(final double initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
index 082bb21cf25..2162324ce9e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.doubles.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveDoubleJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveDoubleEntity"
-)
+@Named("demo.PrimitiveDoubleEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveDoubleJpa
extends PrimitiveDoubleEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
index a74c27a2070..36fef4e6770 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.doubles.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.doubles.holder.PrimitiveDoubleHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveDoubleEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveDoubleEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveDoubleEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
index 4180116d85f..31914c8d465 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.doubles.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveDoubleVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveDoubleVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveDoubleVm
implements HasAsciiDocDescription, PrimitiveDoubleHolder2 {
//end::class[]
- public PrimitiveDoubleVm(double initialValue) {
+ public PrimitiveDoubleVm(final double initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
index 3e159101ba5..22bac31ce60 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveFloats")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveFloats",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveFloats implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java
index f3a03db2819..ee95abcfe89 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.primitive.floats.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.PrimitiveFloatHolder")
+@Named("demo.PrimitiveFloatHolder")
//tag::class[]
public interface PrimitiveFloatHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
index 7fafdc549bf..79e9339c99e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.floats.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,14 +41,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveFloatEntity"
-)
+@Named("demo.PrimitiveFloatEntity")
+@DomainObject
public class PrimitiveFloatJdo // <.>
extends PrimitiveFloatEntity {
//end::class[]
- public PrimitiveFloatJdo(float initialValue) {
+ public PrimitiveFloatJdo(final float initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
index 2039da6e8ff..7ceb6a9bbbe 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.floats.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveFloatJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveFloatEntity"
-)
+@Named("demo.PrimitiveFloatEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveFloatJpa
extends PrimitiveFloatEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
index 326d3d8acbf..84af9ee2b48 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.floats.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.floats.holder.PrimitiveFloatHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveFloatEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveFloatEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveFloatEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
index cfe8811de8e..2f48be2e510 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.floats.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveFloatVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveFloatVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveFloatVm
implements HasAsciiDocDescription, PrimitiveFloatHolder2 {
//end::class[]
- public PrimitiveFloatVm(float initialValue) {
+ public PrimitiveFloatVm(final float initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java
index bc312f928d2..7eb5625fdea 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveInts")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveInts",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveInts implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java
index f6aad7795c6..475ce72575e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.primitive.ints.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.PrimitiveIntHolder")
+@Named("demo.PrimitiveIntHolder")
//tag::class[]
public interface PrimitiveIntHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java
index 0f2adfdeb41..2b5f80972cf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.ints.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,14 +41,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveIntEntity"
-)
+@Named("demo.PrimitiveIntEntity")
+@DomainObject
public class PrimitiveIntJdo // <.>
extends PrimitiveIntEntity {
//end::class[]
- public PrimitiveIntJdo(int initialValue) {
+ public PrimitiveIntJdo(final int initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java
index 5674f937b7c..5bacec5a43c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.ints.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveIntJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveIntEntity"
-)
+@Named("demo.PrimitiveIntEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveIntJpa
extends PrimitiveIntEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java
index a5ff64a3756..cdcadb97647 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.ints.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.ints.holder.PrimitiveIntHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveIntEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveIntEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveIntEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java
index 7f9f4568d71..07bad29fedd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.ints.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveIntVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveIntVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveIntVm
implements HasAsciiDocDescription, PrimitiveIntHolder2 {
//end::class[]
- public PrimitiveIntVm(int initialValue) {
+ public PrimitiveIntVm(final int initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java
index 8c4f2b53c3a..78ceff61b56 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveLongs")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveLongs",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveLongs implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java
index d295627831a..2b04da6ae21 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.primitive.longs.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.PrimitiveLongHolder")
+@Named("demo.PrimitiveLongHolder")
//tag::class[]
public interface PrimitiveLongHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java
index 737042a62f4..79b3d4d6075 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.longs.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,14 +41,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveLongEntity"
-)
+@Named("demo.PrimitiveLongEntity")
+@DomainObject
public class PrimitiveLongJdo // <.>
extends PrimitiveLongEntity {
//end::class[]
- public PrimitiveLongJdo(long initialValue) {
+ public PrimitiveLongJdo(final long initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java
index 160467cc601..c37afeaf009 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.longs.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveLongJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveLongEntity"
-)
+@Named("demo.PrimitiveLongEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveLongJpa
extends PrimitiveLongEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java
index 3c989f9733e..0ed64aefb69 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.longs.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.longs.holder.PrimitiveLongHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveLongEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveLongEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveLongEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java
index 177103c9990..1dfd0f07d92 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.longs.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveLongVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveLongVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveLongVm
implements HasAsciiDocDescription, PrimitiveLongHolder2 {
//end::class[]
- public PrimitiveLongVm(long initialValue) {
+ public PrimitiveLongVm(final long initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
index 5aa70952335..c4ee7aa5155 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
@@ -21,6 +21,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -46,11 +47,10 @@
@XmlRootElement(name = "Demo")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveShorts")
@DomainObject(
nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveShorts",
- editing=Editing.ENABLED
-)
+ editing=Editing.ENABLED)
//@Log4j2
public class PrimitiveShorts implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java
index fa3f2711753..77fee112034 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java
@@ -18,9 +18,9 @@
*/
package demoapp.dom.types.primitive.shorts.holder;
-import org.apache.isis.applib.annotation.LogicalTypeName;
+import javax.inject.Named;
-@LogicalTypeName("demo.PrimitiveShortHolder")
+@Named("demo.PrimitiveShortHolder")
//tag::class[]
public interface PrimitiveShortHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
index f9fef72054b..f466a850051 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.shorts.jdo;
+import javax.inject.Named;
import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
@@ -40,14 +41,13 @@
//tag::class[]
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject(
- logicalTypeName = "demo.PrimitiveShortEntity"
-)
+@Named("demo.PrimitiveShortEntity")
+@DomainObject
public class PrimitiveShortJdo // <.>
extends PrimitiveShortEntity {
//end::class[]
- public PrimitiveShortJdo(short initialValue) {
+ public PrimitiveShortJdo(final short initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
index c3135f63e71..fa1a186f1a9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.shorts.jpa;
+import javax.inject.Named;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
@@ -47,9 +48,8 @@
name = "PrimitiveShortJpa"
)
@EntityListeners(IsisEntityListener.class)
-@DomainObject(
- logicalTypeName = "demo.PrimitiveShortEntity"
-)
+@Named("demo.PrimitiveShortEntity")
+@DomainObject
@NoArgsConstructor
public class PrimitiveShortJpa
extends PrimitiveShortEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
index 1f90b496455..ff6522ffd6c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
@@ -18,15 +18,16 @@
*/
package demoapp.dom.types.primitive.shorts.persistence;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
import demoapp.dom._infra.values.ValueHolder;
import demoapp.dom.types.primitive.shorts.holder.PrimitiveShortHolder2;
-@DomainObject(
- logicalTypeName = "demo.PrimitiveShortEntity" // shared permissions with concrete sub class
-)
+@Named("demo.PrimitiveShortEntity") // shared permissions with concrete sub class
+@DomainObject
public abstract class PrimitiveShortEntity
implements
HasAsciiDocDescription,
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
index cc94b6fecfc..e5d5808e63f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.types.primitive.shorts.vm;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -40,16 +41,15 @@
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
+@Named("demo.PrimitiveShortVm")
@DomainObject(
- nature=Nature.VIEW_MODEL,
- logicalTypeName = "demo.PrimitiveShortVm"
-)
+ nature=Nature.VIEW_MODEL)
@lombok.NoArgsConstructor // <.>
public class PrimitiveShortVm
implements HasAsciiDocDescription, PrimitiveShortHolder2 {
//end::class[]
- public PrimitiveShortVm(short initialValue) {
+ public PrimitiveShortVm(final short initialValue) {
this.readOnlyProperty = initialValue;
this.readWriteProperty = initialValue;
}
diff --git a/examples/demo/domain/src/main/resources/config/application-primary.properties b/examples/demo/domain/src/main/resources/config/application-primary.properties
index 96ea38d4832..2c3d2b37787 100644
--- a/examples/demo/domain/src/main/resources/config/application-primary.properties
+++ b/examples/demo/domain/src/main/resources/config/application-primary.properties
@@ -18,4 +18,4 @@
#
server.port=8080
-isis.extensions.command-replay.secondary-access.base-url-wicket=http://localhost:9090/wicket/
\ No newline at end of file
+isis.extensions.commandreplay.secondary-access.base-url-wicket=http://localhost:9090/wicket/
diff --git a/examples/demo/domain/src/main/resources/config/application-secondary.properties b/examples/demo/domain/src/main/resources/config/application-secondary.properties
index 6fbef59336f..5f6ef71dad6 100644
--- a/examples/demo/domain/src/main/resources/config/application-secondary.properties
+++ b/examples/demo/domain/src/main/resources/config/application-secondary.properties
@@ -17,9 +17,9 @@
# under the License.
#
-isis.extensions.command-replay.primary-access.base-url-restful=http://localhost:8080/restful/
-isis.extensions.command-replay.primary-access.user=sven
-isis.extensions.command-replay.primary-access.password=pass
-isis.extensions.command-replay.primary-access.base-url-wicket=http://localhost:8080/wicket/
+isis.extensions.commandreplay.primary-access.base-url-restful=http://localhost:8080/restful/
+isis.extensions.commandreplay.primary-access.user=sven
+isis.extensions.commandreplay.primary-access.password=pass
+isis.extensions.commandreplay.primary-access.base-url-wicket=http://localhost:8080/wicket/
-server.port=9090
\ No newline at end of file
+server.port=9090
diff --git a/examples/demo/web/pom.xml b/examples/demo/web/pom.xml
index 251ef75fec0..34ae97a5e7d 100644
--- a/examples/demo/web/pom.xml
+++ b/examples/demo/web/pom.xml
@@ -60,11 +60,11 @@
org.apache.isis.extensions
- isis-extensions-command-replay-primary
+ isis-extensions-commandreplay-primary
org.apache.isis.extensions
- isis-extensions-command-replay-secondary
+ isis-extensions-commandreplay-secondary
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 5fe1d841f56..bfe6a74b8bc 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
@@ -35,7 +35,7 @@
nature = NatureOfService.VIEW
)
@javax.annotation.Priority(PriorityPrecedence.EARLY)
-@Profile("command-replay-secondary")
+@Profile("commandreplay-secondary")
public class DemoReplayController implements ReplayCommandExecutionController {
private State state = State.PAUSED;
diff --git a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateLineItemForDemoToDoItem.java b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateLineItemForDemoToDoItem.java
index cc72081a95e..c5d7868a0b7 100644
--- a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateLineItemForDemoToDoItem.java
+++ b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateLineItemForDemoToDoItem.java
@@ -22,6 +22,7 @@
import java.time.LocalDate;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.jdo.annotations.Column;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@@ -49,10 +50,9 @@
import lombok.NoArgsConstructor;
import lombok.Setter;
+@Named("libExcelFixture.BulkUpdateLineItemForDemoToDoItem")
@DomainObject(
- nature = Nature.VIEW_MODEL,
- logicalTypeName = "libExcelFixture.BulkUpdateLineItemForDemoToDoItem"
-)
+ nature = Nature.VIEW_MODEL)
@DomainObjectLayout(
named = "Bulk update line item",
bookmarking = BookmarkPolicy.AS_ROOT
@@ -75,7 +75,7 @@
public class BulkUpdateLineItemForDemoToDoItem
implements Comparable {
- public BulkUpdateLineItemForDemoToDoItem(ExcelDemoToDoItem toDoItem) {
+ public BulkUpdateLineItemForDemoToDoItem(final ExcelDemoToDoItem toDoItem) {
modifyToDoItem(toDoItem);
}
diff --git a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateManagerForDemoToDoItem.java b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateManagerForDemoToDoItem.java
index 704fd9cd1a0..a1904d15b60 100644
--- a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateManagerForDemoToDoItem.java
+++ b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/bulkupdate/BulkUpdateManagerForDemoToDoItem.java
@@ -22,6 +22,7 @@
import java.util.stream.Collectors;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -60,10 +61,9 @@
import lombok.Setter;
import lombok.val;
+@Named("libExcelFixture.BulkUpdateManagerForDemoToDoItem")
@DomainObject(
- nature = Nature.VIEW_MODEL,
- logicalTypeName = "libExcelFixture.BulkUpdateManagerForDemoToDoItem"
-)
+ nature = Nature.VIEW_MODEL)
@DomainObjectLayout(
named ="Import/export manager",
bookmarking = BookmarkPolicy.AS_ROOT
diff --git a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/pivot/ExcelPivotByCategoryAndSubcategory.java b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/pivot/ExcelPivotByCategoryAndSubcategory.java
index 019fc6daeef..d8a45d3b2bf 100644
--- a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/pivot/ExcelPivotByCategoryAndSubcategory.java
+++ b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/dom/pivot/ExcelPivotByCategoryAndSubcategory.java
@@ -20,6 +20,8 @@
import java.math.BigDecimal;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.extensions.excel.applib.AggregationType;
@@ -32,10 +34,9 @@
import lombok.Getter;
import lombok.Setter;
+@Named("libExcelFixture.ExcelPivotByCategoryAndSubcategory")
@DomainObject(
- logicalTypeName = "libExcelFixture.ExcelPivotByCategoryAndSubcategory",
- nature = Nature.VIEW_MODEL
-)
+ nature = Nature.VIEW_MODEL)
public class ExcelPivotByCategoryAndSubcategory {
public ExcelPivotByCategoryAndSubcategory(
diff --git a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadRowHandler4ToDoItem.java b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadRowHandler4ToDoItem.java
index 74a44dee3ba..9698f92c77f 100644
--- a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadRowHandler4ToDoItem.java
+++ b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadRowHandler4ToDoItem.java
@@ -24,6 +24,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -35,21 +36,20 @@
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.jaxb.JavaTimeJaxbAdapters;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
-import org.apache.isis.extensions.excel.testing.ExcelFixture;
-import org.apache.isis.extensions.excel.testing.ExcelFixtureRowHandler;
import org.apache.isis.extensions.excel.fixtures.demoapp.todomodule.dom.Category;
import org.apache.isis.extensions.excel.fixtures.demoapp.todomodule.dom.ExcelDemoToDoItem;
import org.apache.isis.extensions.excel.fixtures.demoapp.todomodule.dom.ExcelDemoToDoItemMenu;
import org.apache.isis.extensions.excel.fixtures.demoapp.todomodule.dom.Subcategory;
+import org.apache.isis.extensions.excel.testing.ExcelFixture;
+import org.apache.isis.extensions.excel.testing.ExcelFixtureRowHandler;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
import lombok.Getter;
import lombok.Setter;
+@Named("libExcelFixture.ExcelUploadRowHandler4ToDoItem")
@DomainObject(
- logicalTypeName = "libExcelFixture.ExcelUploadRowHandler4ToDoItem",
- nature = Nature.VIEW_MODEL
-)
+ nature = Nature.VIEW_MODEL)
@XmlRootElement(name = "BulkUpdateLineItemForDemoToDoItem")
@XmlType(
propOrder = {
diff --git a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturescripts/DemoFixture_extending_ExcelFixture2.java b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturescripts/DemoFixture_extending_ExcelFixture2.java
index 1430fd1e298..dae80c03618 100644
--- a/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturescripts/DemoFixture_extending_ExcelFixture2.java
+++ b/extensions/applib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturescripts/DemoFixture_extending_ExcelFixture2.java
@@ -18,19 +18,20 @@
*/
package org.apache.isis.extensions.excel.fixtures.demoapp.demomodule.fixturescripts;
+import javax.inject.Named;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.commons.internal.resources._Resources;
-import org.apache.isis.extensions.excel.applib.WorksheetSpec;
import org.apache.isis.extensions.excel.applib.Mode;
+import org.apache.isis.extensions.excel.applib.WorksheetSpec;
import org.apache.isis.extensions.excel.fixtures.demoapp.demomodule.fixturehandlers.demotodoitem.DemoToDoItemRowHandler2;
import org.apache.isis.extensions.excel.testing.ExcelFixture2;
import lombok.Getter;
import lombok.Setter;
-@DomainObject(
- logicalTypeName = "isis.sub.excel.DemoFixture_extending_ExcelFixture2"
-)
+@Named("isis.sub.excel.DemoFixture_extending_ExcelFixture2")
+@DomainObject
public class DemoFixture_extending_ExcelFixture2 extends ExcelFixture2 {
public DemoFixture_extending_ExcelFixture2(){
diff --git a/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture.java b/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture.java
index edf59c7492a..dc516ac578c 100644
--- a/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture.java
+++ b/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture.java
@@ -26,6 +26,7 @@
import java.util.Optional;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Programmatic;
@@ -40,8 +41,8 @@
import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.extensions.excel.applib.IsisModuleExtExcelApplib;
import org.apache.isis.extensions.excel.applib.ExcelService;
+import org.apache.isis.extensions.excel.applib.IsisModuleExtExcelApplib;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureResultList;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
@@ -56,9 +57,8 @@
*
* @since 2.0 {@index}
*/
-@DomainObject(
- logicalTypeName = ExcelFixture.LOGICAL_TYPE_NAME
-)
+@Named(ExcelFixture.LOGICAL_TYPE_NAME)
+@DomainObject
public class ExcelFixture extends FixtureScript {
public final static String LOGICAL_TYPE_NAME = IsisModuleExtExcelApplib.NAMESPACE + ".ExcelFixture";
diff --git a/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture2.java b/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture2.java
index a63e5f35752..1c168361f7e 100644
--- a/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture2.java
+++ b/extensions/applib/excel/testing/src/main/java/org/apache/isis/extensions/excel/testing/ExcelFixture2.java
@@ -23,14 +23,15 @@
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.PropertyLayout;
import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.value.Blob;
import org.apache.isis.commons.internal.base._Bytes;
-import org.apache.isis.extensions.excel.applib.IsisModuleExtExcelApplib;
import org.apache.isis.extensions.excel.applib.ExcelService;
+import org.apache.isis.extensions.excel.applib.IsisModuleExtExcelApplib;
import org.apache.isis.extensions.excel.applib.WorksheetSpec;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
@@ -45,9 +46,8 @@
*
* @since 2.0 {@index}
*/
-@DomainObject(
- logicalTypeName = ExcelFixture2.LOGICAL_TYPE_NAME
-)
+@Named(ExcelFixture2.LOGICAL_TYPE_NAME)
+@DomainObject
public class ExcelFixture2 extends FixtureScript {
public final static String LOGICAL_TYPE_NAME = IsisModuleExtExcelApplib.NAMESPACE + ".ExcelFixture2";
diff --git a/extensions/core/command-log/adoc/modules/command-log/partials/module-nav.adoc b/extensions/core/command-log/adoc/modules/command-log/partials/module-nav.adoc
deleted file mode 100644
index 4bf59e2f6ad..00000000000
--- a/extensions/core/command-log/adoc/modules/command-log/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-** xref:userguide:command-log:about.adoc[Command Log]
-
-
diff --git a/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/CommandLog.java b/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/CommandLog.java
deleted file mode 100644
index 30255bddf14..00000000000
--- a/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/CommandLog.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.extensions.commandlog.applib.command;
-
-import java.math.BigDecimal;
-import java.sql.Timestamp;
-import java.time.format.DateTimeFormatter;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.UUID;
-import java.util.function.Consumer;
-
-import javax.persistence.Column;
-import javax.persistence.Transient;
-
-import org.springframework.context.event.EventListener;
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.MemberSupport;
-import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.jaxb.JavaSqlXMLGregorianCalendarMarshalling;
-import org.apache.isis.applib.mixins.system.DomainChangeRecord;
-import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.applib.services.command.Command;
-import org.apache.isis.applib.services.command.CommandOutcomeHandler;
-import org.apache.isis.applib.services.commanddto.conmap.UserDataKeys;
-import org.apache.isis.applib.services.tablecol.TableColumnOrderForCollectionTypeAbstract;
-import org.apache.isis.applib.util.TitleBuffer;
-import org.apache.isis.commons.functional.Try;
-import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.extensions.commandlog.applib.IsisModuleExtCommandLogApplib;
-import org.apache.isis.extensions.commandlog.applib.util.BigDecimalUtils;
-import org.apache.isis.extensions.commandlog.applib.util.StringUtils;
-import org.apache.isis.schema.cmd.v2.CommandDto;
-import org.apache.isis.schema.cmd.v2.MapDto;
-
-import lombok.NoArgsConstructor;
-import lombok.val;
-
-/**
- * A persistent representation of a {@link Command}.
- *
- *
- * Use cases requiring persistence including auditing, and for replay of
- * commands for regression testing purposes.
- *
- *
- * Note that this class doesn't subclass from {@link Command} ({@link Command}
- * is not an interface).
- */
-@DomainObject(
- logicalTypeName = CommandLog.LOGICAL_TYPE_NAME,
- editing = Editing.DISABLED
-)
-@DomainObjectLayout(
- named = "Command",
- titleUiEvent = ICommandLog.TitleUiEvent.class,
- iconUiEvent = ICommandLog.IconUiEvent.class,
- cssClassUiEvent = ICommandLog.CssClassUiEvent.class,
- layoutUiEvent = ICommandLog.LayoutUiEvent.class
-)
-//@Log4j2
-@NoArgsConstructor
-public abstract class CommandLog
-implements
- ICommandLog,
- DomainChangeRecord {
-
- public final static String LOGICAL_TYPE_NAME = IsisModuleExtCommandLogApplib.NAMESPACE + ".CommandLog";
-
- /**
- * Intended for use on primary system.
- *
- * @param command
- */
- public CommandLog(final Command command) {
-
- setInteractionIdStr(command.getInteractionId().toString());
- setUsername(command.getUsername());
- setTimestamp(command.getTimestamp());
-
- setCommandDto(command.getCommandDto());
- setTarget(command.getTarget());
- setLogicalMemberIdentifier(command.getLogicalMemberIdentifier());
-
- setStartedAt(command.getStartedAt());
- setCompletedAt(command.getCompletedAt());
-
- setResult(command.getResult());
- setException(command.getException());
-
- setReplayState(ReplayState.UNDEFINED);
- }
-
-
- /**
- * Intended for use on secondary (replay) system.
- *
- * @param commandDto - obtained from the primary system as a representation of a command invocation
- * @param replayState - controls whether this is to be replayed
- * @param targetIndex - if the command represents a bulk action, then it is flattened out when replayed; this indicates which target to execute against.
- */
- public CommandLog(
- final CommandDto commandDto,
- final ReplayState replayState,
- final int targetIndex) {
-
- setInteractionIdStr(commandDto.getInteractionId());
- setUsername(commandDto.getUser());
- setTimestamp(JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(commandDto.getTimestamp()));
-
- setCommandDto(commandDto);
- setTarget(Bookmark.forOidDto(commandDto.getTargets().getOid().get(targetIndex)));
- setLogicalMemberIdentifier(commandDto.getMember().getLogicalMemberIdentifier());
-
- // the hierarchy of commands calling other commands is only available on the primary system, and is
- setParent(null);
-
- setStartedAt(JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(commandDto.getTimings().getStartedAt()));
- setCompletedAt(JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(commandDto.getTimings().getCompletedAt()));
-
- copyOver(commandDto, UserDataKeys.RESULT, value -> this.setResult(Bookmark.parse(value).orElse(null)));
- copyOver(commandDto, UserDataKeys.EXCEPTION, this::setException);
-
- setReplayState(replayState);
- }
-
- static void copyOver(
- final CommandDto commandDto,
- final String key, final Consumer consume) {
- commandDto.getUserData().getEntry()
- .stream()
- .filter(x -> Objects.equals(x.getKey(), key))
- .map(MapDto.Entry::getValue)
- .filter(Objects::nonNull)
- .filter(x -> x.length() > 0)
- .findFirst()
- .ifPresent(consume);
- }
-
- @Service
- public static class TitleProvider {
-
- private final DateTimeFormatter formatter =
- DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
-
- @EventListener(TitleUiEvent.class)
- public void on(final TitleUiEvent ev) {
- if(ev.getTranslatableTitle() != null
- && ev.getSource() != null
- && ev.getSource().getTimestamp() != null
- && (Objects.equals(ev.getTitle(), "Command Jdo")
- || Objects.equals(ev.getTitle(), "Command Jpa")
- )) {
- ev.setTitle(title((CommandLog)ev.getSource()));
- }
- }
-
- private String title(final CommandLog source) {
- return new TitleBuffer()
- .append(formatter.format(source.getTimestamp().toLocalDateTime()))
- .append(" ").append(source.getLogicalMemberIdentifier())
- .toString();
- }
- }
-
-
- public static class InteractionIdDomainEvent extends PropertyDomainEvent { }
- /**
- * Implementation note: persisted as a string rather than a UUID as fails
- * to persist if using h2 (perhaps would need to be mapped differently).
- * @see www.datanucleus.org
- */
- @Property(domainEvent = InteractionIdDomainEvent.class)
- @PropertyLayout(named = "Interaction Id")
- public abstract String getInteractionIdStr();
- public abstract void setInteractionIdStr(String interactionIdStr);
-
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Programmatic
- @Override
- public UUID getInteractionId() {return UUID.fromString(getInteractionIdStr());}
-
-
- public static class UsernameDomainEvent extends PropertyDomainEvent { }
- @Property(domainEvent = UsernameDomainEvent.class)
- @Override
- public abstract String getUsername();
- public abstract void setUsername(String userName);
-
-
- public static class TimestampDomainEvent extends PropertyDomainEvent { }
- @Property(domainEvent = TimestampDomainEvent.class)
- @Override
- public abstract Timestamp getTimestamp();
- public abstract void setTimestamp(Timestamp timestamp);
-
-
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Override
- public ChangeType getType() {
- return ChangeType.COMMAND;
- }
-
- public static class ReplayStateDomainEvent extends PropertyDomainEvent { }
- /**
- * For a replayed command, what the outcome was.
- */
- @Property(domainEvent = ReplayStateDomainEvent.class)
- @Override
- public abstract ReplayState getReplayState();
-
- public static class ReplayStateFailureReasonDomainEvent extends PropertyDomainEvent { }
- /**
- * For a {@link ReplayState#FAILED failed} replayed command, what the reason was for the failure.
- */
- @Column(nullable=true, length=255)
- @Property(domainEvent = ReplayStateFailureReasonDomainEvent.class)
- @PropertyLayout(hidden = Where.ALL_TABLES, multiLine = 5)
- public abstract String getReplayStateFailureReason();
- public abstract void setReplayStateFailureReason(String replayStateFailureReason);
- @MemberSupport public boolean hideReplayStateFailureReason() {
- return getReplayState() == null || !getReplayState().isFailed();
- }
-
- public static class ParentDomainEvent extends PropertyDomainEvent { }
- @Property(domainEvent = ParentDomainEvent.class)
- @PropertyLayout(hidden = Where.ALL_TABLES)
- public abstract C getParent();
- public abstract void setParent(CommandLog parent);
-
- public static class TargetDomainEvent extends PropertyDomainEvent { }
- @Override
- @Property(domainEvent = TargetDomainEvent.class)
- @PropertyLayout(named = "Object")
- public abstract Bookmark getTarget();
- public abstract void setTarget(Bookmark target);
-
- @Transient
- @javax.jdo.annotations.NotPersistent
- public String getTargetStr() {
- return Optional.ofNullable(getTarget()).map(Bookmark::toString).orElse(null);
- }
-
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Override
- public String getTargetMember() {
- return getCommandDto().getMember().getLogicalMemberIdentifier();
- }
-
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Property(domainEvent = TargetDomainEvent.class)
- @PropertyLayout(named = "Member")
- public String getLocalMember() {
- val targetMember = getTargetMember();
- return targetMember.substring(targetMember.indexOf("#") + 1);
- }
-
- public static class LogicalMemberIdentifierDomainEvent extends PropertyDomainEvent { }
- @Override
- @Property(domainEvent = LogicalMemberIdentifierDomainEvent.class)
- @PropertyLayout(hidden = Where.ALL_TABLES)
- public abstract String getLogicalMemberIdentifier();
- public abstract void setLogicalMemberIdentifier(String logicalMemberIdentifier);
-
- public static class CommandDtoDomainEvent extends PropertyDomainEvent { }
- @Property(domainEvent = CommandDtoDomainEvent.class)
- @PropertyLayout(multiLine = 9)
- @Override
- public abstract CommandDto getCommandDto();
- public abstract void setCommandDto(CommandDto commandDto);
-
- public static class StartedAtDomainEvent extends PropertyDomainEvent { }
- @Override
- @Property(domainEvent = StartedAtDomainEvent.class)
- public abstract Timestamp getStartedAt();
- public abstract void setStartedAt(Timestamp startedAt);
-
- public static class CompletedAtDomainEvent extends PropertyDomainEvent { }
- @Override
- @Property(domainEvent = CompletedAtDomainEvent.class)
- public abstract Timestamp getCompletedAt();
- public abstract void setCompletedAt(Timestamp completedAt);
-
- public static class DurationDomainEvent extends PropertyDomainEvent { }
- /**
- * The number of seconds (to 3 decimal places) that this interaction lasted.
- *
- *
- * Populated only if it has {@link #getCompletedAt() completed}.
- */
- @Transient
- @javax.jdo.annotations.NotPersistent
- @javax.validation.constraints.Digits(integer=5, fraction=3)
- @Property(domainEvent = DurationDomainEvent.class)
- public BigDecimal getDuration() {
- return BigDecimalUtils.durationBetween(getStartedAt(), getCompletedAt());
- }
-
-
- public static class IsCompleteDomainEvent extends PropertyDomainEvent { }
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Property(domainEvent = IsCompleteDomainEvent.class)
- @PropertyLayout(hidden = Where.OBJECT_FORMS)
- public boolean isComplete() {
- return getCompletedAt() != null;
- }
-
-
- public static class ResultSummaryDomainEvent extends PropertyDomainEvent { }
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Property(domainEvent = ResultSummaryDomainEvent.class)
- @PropertyLayout(hidden = Where.OBJECT_FORMS, named = "Result")
- public String getResultSummary() {
- if(getCompletedAt() == null) {
- return "";
- }
- if(!_Strings.isNullOrEmpty(getException())) {
- return "EXCEPTION";
- }
- if(getResult() != null) {
- return "OK";
- } else {
- return "OK (VOID)";
- }
- }
-
- public static class ResultDomainEvent extends PropertyDomainEvent { }
- @Override
- @Property(domainEvent = ResultDomainEvent.class)
- @PropertyLayout(hidden = Where.ALL_TABLES, named = "Result Bookmark")
- public abstract Bookmark getResult();
- public abstract void setResult(Bookmark result);
-
- public static class ExceptionDomainEvent extends PropertyDomainEvent { }
- /**
- * Stack trace of any exception that might have occurred if this interaction/transaction aborted.
- *
- *
- * Not part of the applib API, because the default implementation is not persistent
- * and so there's no object that can be accessed to be annotated.
- */
- @Override
- @Property(domainEvent = ExceptionDomainEvent.class)
- @PropertyLayout(hidden = Where.ALL_TABLES, multiLine = 5, named = "Exception (if any)")
- public abstract String getException();
- public abstract void setException(final String exception);
- @Transient
- @javax.jdo.annotations.NotPersistent
- public void setException(final Throwable exception) {
- setException(_Exceptions.asStacktrace(exception));
- }
-
- public static class IsCausedExceptionDomainEvent extends PropertyDomainEvent { }
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Property(domainEvent = IsCausedExceptionDomainEvent.class)
- @PropertyLayout(hidden = Where.OBJECT_FORMS)
- public boolean isCausedException() {
- return getException() != null;
- }
-
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Override
- public String getPreValue() {
- return null;
- }
-
- @Transient
- @javax.jdo.annotations.NotPersistent
- @Override
- public String getPostValue() {
- return null;
- }
-
-
- @Override
- public void saveAnalysis(final String analysis) {
- if (analysis == null) {
- setReplayState(ReplayState.OK);
- } else {
- setReplayState(ReplayState.FAILED);
- setReplayStateFailureReason(StringUtils.trimmed(analysis, 255));
- }
-
- }
-
- @Override
- public String toString() {
- return toFriendlyString();
- }
-
- @Override
- public CommandOutcomeHandler outcomeHandler() {
- return new CommandOutcomeHandler() {
- @Override
- public Timestamp getStartedAt() {
- return CommandLog.this.getStartedAt();
- }
-
- @Override
- public void setStartedAt(final Timestamp startedAt) {
- CommandLog.this.setStartedAt(startedAt);
- }
-
- @Override
- public void setCompletedAt(final Timestamp completedAt) {
- CommandLog.this.setCompletedAt(completedAt);
- }
-
- @Override
- public void setResult(final Try resultBookmark) {
- CommandLog.this.setResult(resultBookmark.getValue().orElse(null));
- CommandLog.this.setException(resultBookmark.getFailure().orElse(null));
- }
-
- };
- }
-
-
- @Service
- @javax.annotation.Priority(PriorityPrecedence.LATE - 10) // before the framework's own default.
- public static class TableColumnOrderDefault extends TableColumnOrderForCollectionTypeAbstract {
-
- public TableColumnOrderDefault() { super(CommandLog.class); }
-
- @Override
- protected List orderParented(final Object parent, final String collectionId, final List propertyIds) {
- return ordered(propertyIds);
- }
-
- @Override
- protected List orderStandalone(final List propertyIds) {
- return ordered(propertyIds);
- }
-
- private List ordered(final List propertyIds) {
- return Arrays.asList(
- "timestamp", "target", "targetMember", "username", "complete", "resultSummary", "interactionIdStr"
- );
- }
- }
-}
-
diff --git a/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/ICommandLog.java b/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/ICommandLog.java
deleted file mode 100644
index 8a597512298..00000000000
--- a/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/ICommandLog.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.extensions.commandlog.applib.command;
-
-import java.sql.Timestamp;
-import java.util.UUID;
-
-import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.applib.services.command.CommandOutcomeHandler;
-import org.apache.isis.applib.services.commanddto.HasCommandDto;
-import org.apache.isis.applib.util.ObjectContracts;
-import org.apache.isis.applib.util.ToString;
-import org.apache.isis.extensions.commandlog.applib.IsisModuleExtCommandLogApplib;
-
-public interface ICommandLog
-extends
- HasCommandDto,
- Comparable {
-
- public static class TitleUiEvent extends IsisModuleExtCommandLogApplib.TitleUiEvent { }
- public static class IconUiEvent extends IsisModuleExtCommandLogApplib.IconUiEvent { }
- public static class CssClassUiEvent extends IsisModuleExtCommandLogApplib.CssClassUiEvent { }
- public static class LayoutUiEvent extends IsisModuleExtCommandLogApplib.LayoutUiEvent { }
-
- public static abstract class PropertyDomainEvent extends IsisModuleExtCommandLogApplib.PropertyDomainEvent { }
- public static abstract class CollectionDomainEvent extends IsisModuleExtCommandLogApplib.CollectionDomainEvent { }
- public static abstract class ActionDomainEvent extends IsisModuleExtCommandLogApplib.ActionDomainEvent { }
-
-
- Bookmark getResult();
-
- String getException();
-
- Timestamp getStartedAt();
- Timestamp getCompletedAt();
- Timestamp getTimestamp();
-
- Bookmark getTarget();
-
- String getLogicalMemberIdentifier();
-
- String getUsername();
-
- void saveAnalysis(String analysis);
-
- UUID getInteractionId();
-
- ReplayState getReplayState();
-
- CommandOutcomeHandler outcomeHandler();
-
- void setReplayState(ReplayState excluded);
-
- static final ToString stringifier = ObjectContracts
- .toString("interactionId", ICommandLog::getInteractionId)
- .thenToString("username", ICommandLog::getUsername)
- .thenToString("timestamp", ICommandLog::getTimestamp)
- .thenToString("target", ICommandLog::getTarget)
- .thenToString("logicalMemberIdentifier", ICommandLog::getLogicalMemberIdentifier)
- .thenToStringOmitIfAbsent("startedAt", ICommandLog::getStartedAt)
- .thenToStringOmitIfAbsent("completedAt", ICommandLog::getCompletedAt);
-
- default String toFriendlyString() {
- return stringifier.toString(this);
- }
-
- @Override
- default int compareTo(final ICommandLog other) {
- return this.getTimestamp().compareTo(other.getTimestamp());
- }
-
-}
diff --git a/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/ICommandLogRepository.java b/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/ICommandLogRepository.java
deleted file mode 100644
index 1f659ae88da..00000000000
--- a/extensions/core/command-log/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/command/ICommandLogRepository.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.extensions.commandlog.applib.command;
-
-import java.time.LocalDate;
-import java.util.List;
-import java.util.Optional;
-import java.util.UUID;
-
-import org.springframework.lang.Nullable;
-
-import org.apache.isis.applib.exceptions.RecoverableException;
-import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.applib.services.command.Command;
-import org.apache.isis.schema.cmd.v2.CommandDto;
-import org.apache.isis.schema.cmd.v2.CommandsDto;
-
-import lombok.Getter;
-
-public interface ICommandLogRepository {
-
- /** Creates a transient (yet not persisted) {@link ICommandLog} instance. */
- C createCommandLog(Command command);
-
- Optional findByInteractionId(UUID interactionId);
-
- List findByParent(ICommandLog parent);
-
- List findByFromAndTo(LocalDate from, LocalDate to);
-
- List findCurrent();
-
- List findCompleted();
-
- List findByTargetAndFromAndTo(Bookmark target, LocalDate from, LocalDate to);
-
- List findRecentByUsername(String username);
-
- List findRecentByTarget(Bookmark target);
-
- /**
- * Intended to support the replay of commands on a secondary instance of
- * the application.
- *
- * This finder returns all (completed) {@link ICommandLog}s started after
- * the command with the specified interactionId. The number of commands
- * returned can be limited so that they can be applied in batches.
- *
- * If the provided interactionId is null, then only a single
- * {@link ICommandLog command} is returned. This is intended to support
- * the case when the secondary does not yet have any
- * {@link ICommandLog command}s replicated. In practice this is unlikely;
- * typically we expect that the secondary will be set up to run against a
- * copy of the primary instance's DB (restored from a backup), in which
- * case there will already be a {@link ICommandLog command} representing the
- * current high water mark on the secondary system.
- *
- * If the interactionId is not null but the corresponding
- * {@link ICommandLog command} is not found, then null is returned.
- * In the replay scenario the caller will probably interpret this as an
- * error because it means that the high water mark on the secondary is
- * inaccurate, referring to a non-existent {@link ICommandLog command} on
- * the primary.
- *
- * @param interactionId - the identifier of the {@link ICommandLog command} being
- * the replay HWM (using {@link #findMostRecentReplayed()} on the
- * secondary), or null if no HWM was found there.
- * @param batchSize - to restrict the number returned (so that replay
- * commands can be batched).
- */
- List findSince(UUID interactionId, Integer batchSize);
-
- /**
- * The most recent replayed command previously replicated from primary to
- * secondary.
- *
- *
- * This should always exist except for the very first times
- * (after restored the prod DB to secondary).
- *
- */
- Optional findMostRecentReplayed();
-
- /**
- * The most recent completed command, as queried on the
- * secondary.
- *
- *
- * After a restart following the production database being restored
- * from primary to secondary, would correspond to the last command
- * run on primary before the production database was restored to the
- * secondary.
- *
- */
- Optional findMostRecentCompleted();
-
- List findNotYetReplayed();
-
- List