You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2022/08/29 10:11:46 UTC

[isis] 14/17: ISIS-3189: renames IdStringifiers that are based on DN-specific classes (XxxId) rather than JDO (XxxIdentity), and fixes DnStringIdValueSemantics to use StringId rather than StringIdentifier.

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

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4eacff8bff39fb5a053eea43dd04b972fcce59c5
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:27:17 2022 +0100

    ISIS-3189: renames IdStringifiers that are based on DN-specific classes (XxxId) rather than JDO (XxxIdentity), and fixes DnStringIdValueSemantics to use StringId rather than StringIdentifier.
    
    This error with the DnStringIdValueSemantics was resulting in a failure to round-trip for some classes (I think that ApplicationTenancy might have been one of them).
    
    (cherry picked from commit bc017037137d181f1b83026f4c3063271d9462d2)
---
 .../IsisModulePersistenceJdoDatanucleus.java       | 39 ++++++++++------------
 ...eSemantics.java => DnByteIdValueSemantics.java} |  5 ++-
 ...eSemantics.java => DnCharIdValueSemantics.java} |  7 ++--
 ...s.java => DnDatastoreIdImplValueSemantics.java} |  4 +--
 ... => DnDatastoreUniqueLongIdValueSemantics.java} |  4 +--
 ...ueSemantics.java => DnIntIdValueSemantics.java} |  4 +--
 ...eSemantics.java => DnLongIdValueSemantics.java} |  4 +--
 ...emantics.java => DnObjectIdValueSemantics.java} |  4 +--
 ...Semantics.java => DnShortIdValueSemantics.java} |  4 +--
 ...emantics.java => DnStringIdValueSemantics.java} | 24 ++++++-------
 .../valuetypes/JdoDatastoreIdValueSemantics.java   |  1 -
 ...erForDatastoreId_DatastoreIdImpl_long_Test.java |  4 +--
 ...atastoreId_DatastoreUniqueLongId_long_Test.java |  4 +--
 ...DatastoreId_DatastoreUniqueLongId_str_Test.java |  4 +--
 .../oid/IdStringifierForIntId_Test.java            |  4 +--
 .../oid/IdStringifierForLongId_Test.java           |  4 +--
 16 files changed, 58 insertions(+), 62 deletions(-)

diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
index 70c320e333..b80cef2873 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
@@ -48,25 +48,22 @@ import org.apache.isis.persistence.jdo.datanucleus.config.DatanucleusSettings;
 import org.apache.isis.persistence.jdo.datanucleus.dialect.DnJdoDialect;
 import org.apache.isis.persistence.jdo.datanucleus.entities.DnEntityStateProvider;
 import org.apache.isis.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault;
-import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong;
-import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp;
-import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnByteIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnCharIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdImplValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreIdImplValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreUniqueLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnIntIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnLongIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnObjectIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnShortIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnStringIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdentityValueSemantics;
 import org.apache.isis.persistence.jdo.integration.IsisModulePersistenceJdoIntegration;
 import org.apache.isis.persistence.jdo.provider.config.JdoEntityDiscoveryListener;
@@ -90,8 +87,8 @@ import lombok.extern.log4j.Log4j2;
     // @Component's
     DnEntityStateProvider.class,
 
-    JdoDatastoreIdImplValueSemantics.class, // datastore identity
-    JdoDatastoreUniqueLongIdValueSemantics.class,
+    DnDatastoreIdImplValueSemantics.class, // datastore identity
+    DnDatastoreUniqueLongIdValueSemantics.class,
     JdoDatastoreIdValueSemantics.class,
     JdoShortIdentityValueSemantics.class, // application-defined PK, javax.jdo.identity
     JdoLongIdentityValueSemantics.class,
@@ -100,13 +97,13 @@ import lombok.extern.log4j.Log4j2;
     JdoCharIdentityValueSemantics.class,
     JdoStringIdentityValueSemantics.class,
     JdoObjectIdentityValueSemantics.class,
-    JdoShortIdValueSemantics.class,  // application-defined PK, org.datanucleus.identity
-    JdoLongIdValueSemantics.class,
-    JdoIntIdValueSemantics.class,
-    JdoByteIdValueSemantics.class,
-    JdoCharIdValueSemantics.class,
-    JdoStringIdValueSemantics.class,
-    JdoObjectIdValueSemantics.class,
+    DnShortIdValueSemantics.class,  // application-defined PK, org.datanucleus.identity
+    DnLongIdValueSemantics.class,
+    DnIntIdValueSemantics.class,
+    DnByteIdValueSemantics.class,
+    DnCharIdValueSemantics.class,
+    DnStringIdValueSemantics.class,
+    DnObjectIdValueSemantics.class,
 
     // @Service's
     JdoSupportServiceDefault.class,
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnByteIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnByteIdValueSemantics.java
index cfda144bf1..23ef45e328 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnByteIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoByteIdValueSemantics
+public class DnByteIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<ByteId> {
 
-    public JdoByteIdValueSemantics() {
+    public DnByteIdValueSemantics() {
         super(ByteId.class);
     }
 
@@ -67,5 +67,4 @@ extends ValueSemanticsBasedOnIdStringifier<ByteId> {
         return new ByteId(targetEntityClass, stringified);
     }
 
-
 }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnCharIdValueSemantics.java
similarity index 95%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnCharIdValueSemantics.java
index 6ba0be106a..5a180a11cb 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnCharIdValueSemantics.java
@@ -38,12 +38,12 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoCharIdValueSemantics
+public class DnCharIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<CharId> {
 
     @Inject IdStringifier<Character> idStringifierForCharacter;
 
-    public JdoCharIdValueSemantics() {
+    public DnCharIdValueSemantics() {
         super(CharId.class);
     }
 
@@ -51,7 +51,7 @@ extends ValueSemanticsBasedOnIdStringifier<CharId> {
      * for testing only
      */
     @Builder
-    JdoCharIdValueSemantics(final IdStringifier<Character> idStringifierForCharacter) {
+    DnCharIdValueSemantics(final IdStringifier<Character> idStringifierForCharacter) {
         this();
         this.idStringifierForCharacter = idStringifierForCharacter;
     }
@@ -88,4 +88,5 @@ extends ValueSemanticsBasedOnIdStringifier<CharId> {
         val idValue = idStringifierForCharacter.destring(targetEntityClass, stringified);
         return new CharId(targetEntityClass, idValue);
     }
+
 }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdImplValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreIdImplValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdImplValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreIdImplValueSemantics.java
index cd3e5da923..fc14b3f2cd 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdImplValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreIdImplValueSemantics.java
@@ -36,12 +36,12 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoDatastoreIdImplValueSemantics
+public class DnDatastoreIdImplValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<DatastoreIdImpl> {
 
     public static final String STRING_DELIMITER = "[OID]"; // as
 
-    public JdoDatastoreIdImplValueSemantics() {
+    public DnDatastoreIdImplValueSemantics() {
         super(DatastoreIdImpl.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreUniqueLongIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreUniqueLongIdValueSemantics.java
similarity index 93%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreUniqueLongIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreUniqueLongIdValueSemantics.java
index 9ed3f16cdd..502c627607 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreUniqueLongIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreUniqueLongIdValueSemantics.java
@@ -33,10 +33,10 @@ import lombok.NonNull;
  */
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoDatastoreUniqueLongIdValueSemantics
+public class DnDatastoreUniqueLongIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<DatastoreUniqueLongId> {
 
-    public JdoDatastoreUniqueLongIdValueSemantics() {
+    public DnDatastoreUniqueLongIdValueSemantics() {
         super(DatastoreUniqueLongId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnIntIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnIntIdValueSemantics.java
index 24cd76765a..71ab428ad3 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnIntIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoIntIdValueSemantics
+public class DnIntIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<IntId> {
 
-    public JdoIntIdValueSemantics() {
+    public DnIntIdValueSemantics() {
         super(IntId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnLongIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnLongIdValueSemantics.java
index fb23051749..ad4bb33c03 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnLongIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoLongIdValueSemantics
+public class DnLongIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<LongId> {
 
-    public JdoLongIdValueSemantics() {
+    public DnLongIdValueSemantics() {
         super(LongId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnObjectIdValueSemantics.java
similarity index 98%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnObjectIdValueSemantics.java
index cb25b669f5..718a22170c 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnObjectIdValueSemantics.java
@@ -47,14 +47,14 @@ import lombok.val;
 @Component
 @Priority(PriorityPrecedence.LATE)
 @Builder
-public class JdoObjectIdValueSemantics
+public class DnObjectIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<ObjectId> {
 
     private static final String PREFIX_UUID = "u_";
     private static final String PREFIX_LONG = "l_";
     private static final String PREFIX_INT = "i_";
 
-    public JdoObjectIdValueSemantics() {
+    public DnObjectIdValueSemantics() {
         super(ObjectId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnShortIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnShortIdValueSemantics.java
index bff3bb1526..cc1f6aec9d 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnShortIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoShortIdValueSemantics
+public class DnShortIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<ShortId> {
 
-    public JdoShortIdValueSemantics() {
+    public DnShortIdValueSemantics() {
         super(ShortId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnStringIdValueSemantics.java
similarity index 80%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnStringIdValueSemantics.java
index 1f714dd3fa..69138dd97a 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnStringIdValueSemantics.java
@@ -20,8 +20,8 @@ package org.apache.isis.persistence.jdo.datanucleus.valuetypes;
 
 import javax.annotation.Priority;
 import javax.inject.Inject;
-import javax.jdo.identity.StringIdentity;
 
+import org.datanucleus.identity.StringId;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.PriorityPrecedence;
@@ -38,20 +38,20 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoStringIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
+public class DnStringIdValueSemantics
+extends ValueSemanticsBasedOnIdStringifier<StringId> {
 
     @Inject IdStringifier<String> idStringifierForString;
 
-    public JdoStringIdValueSemantics() {
-        super(StringIdentity.class);
+    public DnStringIdValueSemantics() {
+        super(StringId.class);
     }
 
     /**
      * for testing only
      */
     @Builder
-    JdoStringIdValueSemantics(final IdStringifier<String> idStringifierForString) {
+    DnStringIdValueSemantics(final IdStringifier<String> idStringifierForString) {
         this();
         this.idStringifierForString = idStringifierForString;
     }
@@ -59,15 +59,15 @@ extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
     // -- COMPOSER
 
     @Override
-    public ValueDecomposition decompose(final StringIdentity value) {
+    public ValueDecomposition decompose(final StringId value) {
         return CommonDtoUtils.typedTupleBuilder(value)
-                .addFundamentalType(ValueType.STRING, "targetClassName", StringIdentity::getTargetClassName)
+                .addFundamentalType(ValueType.STRING, "targetClassName", StringId::getTargetClassName)
                 .addFundamentalType(ValueType.STRING, "key", this::enstring)
                 .buildAsDecomposition();
     }
 
     @Override
-    public StringIdentity compose(final ValueDecomposition decomposition) {
+    public StringId compose(final ValueDecomposition decomposition) {
         val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
         final String targetClassName = (String)elementMap.get("targetClassName");
         final String key = (String)elementMap.get("key");
@@ -77,15 +77,15 @@ extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
     // -- ID STRINGIFIER
 
     @Override
-    public String enstring(final @NonNull StringIdentity value) {
+    public String enstring(final @NonNull StringId value) {
         return idStringifierForString.enstring(value.getKey());
     }
 
     @Override
-    public StringIdentity destring(
+    public StringId destring(
             final @NonNull Class<?> targetEntityClass,
             final @NonNull String stringified) {
         val idValue = idStringifierForString.destring(targetEntityClass, stringified);
-        return new StringIdentity(targetEntityClass, idValue);
+        return new StringId(targetEntityClass, idValue);
     }
 }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java
index c992d36cdc..001ae5ff99 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java
@@ -92,5 +92,4 @@ extends ValueSemanticsBasedOnIdStringifier<DatastoreId> {
         return _Casts.uncheckedCast(dnOid);
     }
 
-
 }
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java
index 34e0f4d796..a37507e20c 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdImplValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreIdImplValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForDatastoreId_DatastoreIdImpl_long_Test {
 
         val entityType = Customer.class;
 
-        val stringifier = new JdoDatastoreIdImplValueSemantics();
+        val stringifier = new DnDatastoreIdImplValueSemantics();
 
         val stringified = stringifier.enstring(new DatastoreIdImpl(entityType.getName(), value));
         if(enstringed != null) {
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java
index cc7be6c054..5a89e01ac7 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreUniqueLongIdValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test {
 
         //val entityType = Customer.class;
 
-        val stringifier = new JdoDatastoreUniqueLongIdValueSemantics();
+        val stringifier = new DnDatastoreUniqueLongIdValueSemantics();
 
         val stringified = stringifier.enstring(new DatastoreUniqueLongId(value));
         val parse = stringifier.destring(stringified); // no need to pass entityType
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java
index 7a9afb8c0f..b7b770d8dc 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreUniqueLongIdValueSemantics;
 
 import lombok.val;
 
@@ -53,7 +53,7 @@ class IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test {
         //val entityType = Customer.class;
 
         String strValue = "" + value;
-        val stringifier = new JdoDatastoreUniqueLongIdValueSemantics();
+        val stringifier = new DnDatastoreUniqueLongIdValueSemantics();
 
         val stringified = stringifier.enstring(new DatastoreUniqueLongId(strValue));
         val parse = stringifier.destring(stringified); // no need to pass entityType
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java
index c344df8713..7dfc2b8f77 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnIntIdValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForIntId_Test {
 
         val entityType = Customer.class;
 
-        val stringifier = new JdoIntIdValueSemantics();
+        val stringifier = new DnIntIdValueSemantics();
 
         val stringified = stringifier.enstring(new IntId(entityType, value));
         val parse = stringifier.destring(entityType, stringified);
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java
index db92e86aa7..942b6c3fd0 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnLongIdValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForLongId_Test {
 
         val entityType = Customer.class;
 
-        val stringifier = new JdoLongIdValueSemantics();
+        val stringifier = new DnLongIdValueSemantics();
 
         val stringified = stringifier.enstring(new LongId(entityType, value));
         val parse = stringifier.destring(entityType, stringified);