You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/08/11 19:30:51 UTC
[isis] branch master updated: ISIS-3119: remove IdStringifier.SupportingTargetEntityClass
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 39b762ddcd ISIS-3119: remove IdStringifier.SupportingTargetEntityClass
39b762ddcd is described below
commit 39b762ddcdb4cdb0aec89932a6e8800d8923328e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Aug 11 23:30:43 2022 +0200
ISIS-3119: remove IdStringifier.SupportingTargetEntityClass
- also swapping arguments in destringify(...)
---
.../applib/services/bookmark/IdStringifier.java | 37 +++++++++++-----------
.../ValueSemanticsBasedOnIdStringifier.java | 15 ++-------
...manticsBasedOnIdStringifierEntityAgnostic.java} | 21 +++++++++---
.../valuesemantics/BigDecimalValueSemantics.java | 5 ++-
.../valuesemantics/BigIntegerValueSemantics.java | 5 ++-
.../valuesemantics/ByteValueSemantics.java | 5 ++-
.../valuesemantics/CharacterValueSemantics.java | 5 ++-
.../valuesemantics/IntValueSemantics.java | 5 ++-
.../valuesemantics/LongValueSemantics.java | 5 ++-
.../valuesemantics/SerializableValueSemantics.java | 4 +--
.../valuesemantics/ShortValueSemantics.java | 5 ++-
.../valuesemantics/StringValueSemantics.java | 5 ++-
.../valuesemantics/UUIDValueSemantics.java | 2 +-
.../idstringifier/IdStringifierService.java | 5 +--
.../commandlog/jpa/dom/CommandLogEntryPK.java | 4 +--
.../executionlog/jdo/dom/ExecutionLogEntryPK.java | 4 +--
.../executionlog/jpa/dom/ExecutionLogEntryPK.java | 4 +--
.../jdo/dom/ExecutionOutboxEntryPK.java | 4 +--
.../jpa/dom/ExecutionOutboxEntryPK.java | 4 +--
.../sessionlog/jpa/dom/SessionLogEntryPK.java | 4 +--
.../valuetypes/JdoByteIdValueSemantics.java | 8 ++---
.../valuetypes/JdoByteIdentityValueSemantics.java | 8 ++---
.../valuetypes/JdoCharIdValueSemantics.java | 12 +++----
.../valuetypes/JdoCharIdentityValueSemantics.java | 12 +++----
.../JdoDatastoreIdImplValueSemantics.java | 10 +++---
.../valuetypes/JdoDatastoreIdValueSemantics.java | 11 +++----
.../JdoDatastoreUniqueLongIdValueSemantics.java | 4 +--
.../valuetypes/JdoIntIdValueSemantics.java | 10 +++---
.../valuetypes/JdoIntIdentityValueSemantics.java | 10 +++---
.../valuetypes/JdoLongIdValueSemantics.java | 10 +++---
.../valuetypes/JdoLongIdentityValueSemantics.java | 10 +++---
.../valuetypes/JdoObjectIdValueSemantics.java | 10 +++---
.../JdoObjectIdentityValueSemantics.java | 10 +++---
.../valuetypes/JdoShortIdValueSemantics.java | 10 +++---
.../valuetypes/JdoShortIdentityValueSemantics.java | 10 +++---
.../valuetypes/JdoStringIdValueSemantics.java | 12 +++----
.../JdoStringIdentityValueSemantics.java | 12 +++----
.../oid/IdStringifierForByteIdentity_Test.java | 2 +-
.../oid/IdStringifierForCharIdentity_Test.java | 2 +-
...erForDatastoreId_DatastoreIdImpl_long_Test.java | 2 +-
.../oid/IdStringifierForIntId_Test.java | 2 +-
.../oid/IdStringifierForIntIdentity_Test.java | 2 +-
.../oid/IdStringifierForLongId_Test.java | 2 +-
.../oid/IdStringifierForLongIdentity_Test.java | 2 +-
.../oid/IdStringifierForObjectIdentity_Test.java | 2 +-
.../oid/IdStringifierForShortIdentity_Test.java | 2 +-
.../oid/IdStringifierForStringIdentity_Test.java | 2 +-
47 files changed, 168 insertions(+), 169 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java
index a1a596a169..d4c4306cd2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/IdStringifier.java
@@ -21,7 +21,6 @@
package org.apache.isis.applib.services.bookmark;
import org.apache.isis.commons.internal.assertions._Assert;
-import org.apache.isis.commons.internal.exceptions._Exceptions;
import lombok.Getter;
import lombok.NonNull;
@@ -40,7 +39,7 @@ import lombok.val;
*
* <p>
* The framework provides default implementations of this SPI for JDO (data store and application identity) and
- * for JPA. Because this is an SPI, other modules or application code can provide their own implementations.
+ * for JPA. Because this is a SPI, other modules or application code can provide their own implementations.
* An example of such is the JPA implementation of the <code>commandlog</code> extension.
* </p>
*
@@ -48,6 +47,7 @@ import lombok.val;
*
* @since 2.0 {@index}
*/
+@SuppressWarnings("javadoc")
public interface IdStringifier<T> {
Class<T> getCorrespondingClass();
@@ -56,7 +56,7 @@ public interface IdStringifier<T> {
* Convert the value (which will be of the same type as returned by {@link #getCorrespondingClass()}
* into a string representation.
*
- * @see #destring(String)
+ * @see #destring(Class, String)
*/
String enstring(@NonNull T value);
@@ -64,27 +64,31 @@ public interface IdStringifier<T> {
* Convert a string representation of the identifier (as returned by {@link #enstring(Object)}) into an object
* that can be used to retrieve.
*
+ * @param targetEntityClass - the class of the target entity, eg <code>Customer</code>. For both JDO and JPA,
+ * we always have this information available, and is needed (at least) by the JDO
+ * implementations of application primary keys using built-ins, eg <code>LongIdentity</code>.
* @param stringified - as returned by {@link #enstring(Object)}
*/
- T destring(@NonNull String stringified);
+ T destring(@NonNull Class<?> targetEntityClass, @NonNull String stringified);
+ /**
+ * Entity agnostic variant of {@link IdStringifier}.
+ */
+ interface EntityAgnostic<T> extends IdStringifier<T> {
- interface SupportingTargetEntityClass<T> extends IdStringifier<T> {
/**
* Convert a string representation of the identifier (as returned by {@link #enstring(Object)}) into an object
* that can be used to retrieve.
*
* @param stringified - as returned by {@link #enstring(Object)}
- * @param targetEntityClass - the class of the target entity, eg <code>Customer</code>. For both JDO and JPA,
- * we always have this information available, and is needed (at least) by the JDO
- * implementations of application primary keys using built-ins, eg <code>LongIdentity</code>.
*/
- T destring(@NonNull String stringified, @NonNull Class<?> targetEntityClass);
+ T destring(@NonNull String stringified);
@Override
- default T destring(@NonNull final String stringified) {
- throw _Exceptions.unsupportedOperation();
+ default T destring(@NonNull final Class<?> targetEntityClass, @NonNull final String stringified) {
+ return destring(stringified);
}
+
}
/**
@@ -98,7 +102,7 @@ public interface IdStringifier<T> {
* @deprecated not used within the framework; eventually remove
*/
@Deprecated
- abstract class AbstractWithPrefix<T> implements SupportingTargetEntityClass<T> {
+ abstract class AbstractWithPrefix<T> implements IdStringifier<T> {
public final static char SEPARATOR = '_';
@@ -126,11 +130,6 @@ public interface IdStringifier<T> {
return prefix + doEnstring(value);
}
- @Override
- public final T destring(@NonNull final String stringified) {
- throw _Exceptions.unsupportedOperation();
- }
-
/**
* Overridable hook
*/
@@ -140,8 +139,8 @@ public interface IdStringifier<T> {
@Override
public final T destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
val suffix = removePrefix(stringified);
return doDestring(suffix, targetEntityClass);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifier.java b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifier.java
index 2ac4622ec1..2a98d59618 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifier.java
@@ -28,7 +28,8 @@ import lombok.experimental.Accessors;
/**
* Convenient base class for value-semantics,
- * that are basically inferred from an {@link IdStringifier}.
+ * that are inferred from an {@link IdStringifier}.
+ * @see IdStringifier
* @since 2.0
*/
public abstract class ValueSemanticsBasedOnIdStringifier<T>
@@ -60,16 +61,4 @@ implements
return value.toString();
}
- // -- COMPOSER
-
- @Override
- public final ValueDecomposition decompose(final T value) {
- return decomposeAsString(value, this::enstring, ()->null);
- }
-
- @Override
- public final T compose(final ValueDecomposition decomposition) {
- return composeFromString(decomposition, this::destring, ()->null);
- }
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport.java b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java
similarity index 75%
rename from api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport.java
rename to api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java
index d37825569e..e0d589f1ea 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java
@@ -28,19 +28,18 @@ import lombok.experimental.Accessors;
/**
* Convenient base class for value-semantics,
- * that are basically inferred from an {@link IdStringifier} with target-entity-class-support.
- * @see org.apache.isis.applib.services.bookmark.IdStringifier.SupportingTargetEntityClass
+ * that are inferred from an {@link org.apache.isis.applib.services.bookmark.IdStringifier.EntityAgnostic}.
* @since 2.0
*/
-public abstract class ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<T>
+public abstract class ValueSemanticsBasedOnIdStringifierEntityAgnostic<T>
extends ValueSemanticsAbstract<T>
implements
- IdStringifier.SupportingTargetEntityClass<T> {
+ IdStringifier.EntityAgnostic<T> {
@Getter @Accessors(makeFinal = true)
private final Class<T> correspondingClass;
- protected ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport(
+ protected ValueSemanticsBasedOnIdStringifierEntityAgnostic(
final @NonNull Class<T> correspondingClass) {
_Assert.assertFalse(correspondingClass.isPrimitive(),
()->String.format("not allowed to be initialzed with a primitive class (%s), "
@@ -61,4 +60,16 @@ implements
return value.toString();
}
+ // -- COMPOSER
+
+ @Override
+ public final ValueDecomposition decompose(final T value) {
+ return decomposeAsString(value, this::enstring, ()->null);
+ }
+
+ @Override
+ public final T compose(final ValueDecomposition decomposition) {
+ return composeFromString(decomposition, this::destring, ()->null);
+ }
+
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java
index 6b0af5ff2e..1c35f413e2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java
@@ -55,7 +55,7 @@ implements
DefaultsProvider<BigDecimal>,
Parser<BigDecimal>,
Renderer<BigDecimal>,
- IdStringifier<BigDecimal> {
+ IdStringifier.EntityAgnostic<BigDecimal> {
@Setter @Inject
private SpecificationLoader specificationLoader;
@@ -96,8 +96,7 @@ implements
}
@Override
- public BigDecimal destring(
- final @NonNull String stringified) {
+ public BigDecimal destring(final @NonNull String stringified) {
return new BigDecimal(stringified);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java
index 10dfbb6e13..6407f71655 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java
@@ -48,7 +48,7 @@ implements
DefaultsProvider<BigInteger>,
Parser<BigInteger>,
Renderer<BigInteger>,
- IdStringifier<BigInteger> {
+ IdStringifier.EntityAgnostic<BigInteger> {
@Override
public Class<BigInteger> getCorrespondingClass() {
@@ -98,8 +98,7 @@ implements
}
@Override
- public BigInteger destring(
- final @NonNull String stringified) {
+ public BigInteger destring(final @NonNull String stringified) {
return new BigInteger(stringified);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java
index 3321e23ce5..14b7be6cf2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java
@@ -54,7 +54,7 @@ implements
DefaultsProvider<Byte>,
Parser<Byte>,
Renderer<Byte>,
- IdStringifier<Byte> {
+ IdStringifier.EntityAgnostic<Byte> {
@Override
public Class<Byte> getCorrespondingClass() {
@@ -92,8 +92,7 @@ implements
}
@Override
- public Byte destring(
- final @NonNull String stringified) {
+ public Byte destring(final @NonNull String stringified) {
return Byte.parseByte(stringified);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java
index 68b2f0808c..deaf9ee6a2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java
@@ -56,7 +56,7 @@ implements
DefaultsProvider<Character>,
Parser<Character>,
Renderer<Character>,
- IdStringifier<Character> {
+ IdStringifier.EntityAgnostic<Character> {
@Override
public Class<Character> getCorrespondingClass() {
@@ -111,8 +111,7 @@ implements
}
@Override
- public Character destring(
- final @NonNull String stringified) {
+ public Character destring(final @NonNull String stringified) {
if(stringified.startsWith(REGULAR_PREFIX)) {
return stringified.substring(REGULAR_PREFIX.length()).charAt(0);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java
index 5767b375dc..3f747dc800 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java
@@ -54,7 +54,7 @@ implements
DefaultsProvider<Integer>,
Parser<Integer>,
Renderer<Integer>,
- IdStringifier<Integer>{
+ IdStringifier.EntityAgnostic<Integer>{
@Override
public Class<Integer> getCorrespondingClass() {
@@ -92,8 +92,7 @@ implements
}
@Override
- public Integer destring(
- final @NonNull String stringified) {
+ public Integer destring(final @NonNull String stringified) {
return Integer.parseInt(stringified);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java
index 2499a680a1..02c06f047d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java
@@ -54,7 +54,7 @@ implements
DefaultsProvider<Long>,
Parser<Long>,
Renderer<Long>,
- IdStringifier<Long>{
+ IdStringifier.EntityAgnostic<Long>{
@Override
public Class<Long> getCorrespondingClass() {
@@ -92,8 +92,7 @@ implements
}
@Override
- public Long destring(
- final @NonNull String stringified) {
+ public Long destring(final @NonNull String stringified) {
return Long.parseLong(stringified);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/SerializableValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/SerializableValueSemantics.java
index 19c85d2202..f6b79fb7ea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/SerializableValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/SerializableValueSemantics.java
@@ -29,7 +29,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.urlencoding.UrlEncodingService;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import org.apache.isis.applib.value.semantics.ValueSemanticsProvider;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._Strings;
@@ -45,7 +45,7 @@ import lombok.NonNull;
@Named("isis.val.SerializableValueSemantics")
@Priority(PriorityPrecedence.LAST)
public class SerializableValueSemantics
-extends ValueSemanticsBasedOnIdStringifier<Serializable> {
+extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<Serializable> {
private final UrlEncodingService codec;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java
index 065e884076..84d9654f31 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java
@@ -54,7 +54,7 @@ implements
DefaultsProvider<Short>,
Parser<Short>,
Renderer<Short>,
- IdStringifier<Short> {
+ IdStringifier.EntityAgnostic<Short> {
@Override
public Class<Short> getCorrespondingClass() {
@@ -92,8 +92,7 @@ implements
}
@Override
- public Short destring(
- final @NonNull String stringified) {
+ public Short destring(final @NonNull String stringified) {
return Short.parseShort(stringified);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java
index 7a1e709dbc..7365b145e9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java
@@ -47,7 +47,7 @@ extends ValueSemanticsAbstract<String>
implements
Parser<String>,
Renderer<String>,
- IdStringifier<String> {
+ IdStringifier.EntityAgnostic<String> {
@Override
public Class<String> getCorrespondingClass() {
@@ -87,8 +87,7 @@ implements
}
@Override
- public String destring(
- final @NonNull String stringified) {
+ public String destring(final @NonNull String stringified) {
if(stringified.startsWith(REGULAR_PREFIX)) {
return stringified.substring(REGULAR_PREFIX.length());
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java
index 5a57dcd907..243f572a55 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java
@@ -47,7 +47,7 @@ extends ValueSemanticsAbstract<UUID>
implements
Parser<UUID>,
Renderer<UUID>,
- IdStringifier<UUID> {
+ IdStringifier.EntityAgnostic<UUID> {
@Override
public Class<UUID> getCorrespondingClass() {
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/idstringifier/IdStringifierService.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/idstringifier/IdStringifierService.java
index 4569710925..dcece158bf 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/idstringifier/IdStringifierService.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/idstringifier/IdStringifierService.java
@@ -92,10 +92,7 @@ public class IdStringifierService {
final @NonNull Class<?> entityClass,
final @NonNull String stringifiedId) {
val idStringifier = lookupElseFail(ClassUtils.resolvePrimitiveIfNecessary(primaryKeyType));
- @SuppressWarnings("unchecked")
- val primaryKey = _Casts.castTo(IdStringifier.SupportingTargetEntityClass.class, idStringifier)
- .map(stringifier->stringifier.destring(stringifiedId, entityClass))
- .orElseGet(()->idStringifier.destring(stringifiedId));
+ val primaryKey = idStringifier.destring(entityClass, stringifiedId);
return _Casts.uncheckedCast(primaryKey);
}
diff --git a/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java b/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java
index 049e5f634d..43b3124d51 100644
--- a/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java
+++ b/extensions/core/commandlog/persistence-jpa/src/main/java/org/apache/isis/extensions/commandlog/jpa/dom/CommandLogEntryPK.java
@@ -30,7 +30,7 @@ import javax.persistence.Embeddable;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import org.apache.isis.extensions.commandlog.applib.dom.CommandLogEntry;
import org.apache.isis.persistence.jpa.integration.typeconverters.java.util.JavaUtilUuidConverter;
@@ -65,7 +65,7 @@ public class CommandLogEntryPK implements Serializable {
@Component
@Priority(PriorityPrecedence.MIDPOINT)
public static class Semantics
- extends ValueSemanticsBasedOnIdStringifier<CommandLogEntryPK> {
+ extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<CommandLogEntryPK> {
public Semantics() {
super(CommandLogEntryPK.class);
diff --git a/extensions/core/executionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/executionlog/jdo/dom/ExecutionLogEntryPK.java b/extensions/core/executionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/executionlog/jdo/dom/ExecutionLogEntryPK.java
index fb82c34319..774d58db7b 100644
--- a/extensions/core/executionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/executionlog/jdo/dom/ExecutionLogEntryPK.java
+++ b/extensions/core/executionlog/persistence-jdo/src/main/java/org/apache/isis/extensions/executionlog/jdo/dom/ExecutionLogEntryPK.java
@@ -27,7 +27,7 @@ import javax.annotation.Priority;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -63,7 +63,7 @@ public class ExecutionLogEntryPK implements Serializable {
@Component
@Priority(PriorityPrecedence.MIDPOINT)
public static class Semantics
- extends ValueSemanticsBasedOnIdStringifier<ExecutionLogEntryPK> {
+ extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<ExecutionLogEntryPK> {
public Semantics() {
super(ExecutionLogEntryPK.class);
diff --git a/extensions/core/executionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/executionlog/jpa/dom/ExecutionLogEntryPK.java b/extensions/core/executionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/executionlog/jpa/dom/ExecutionLogEntryPK.java
index 7cdb2bf1b7..abbc52c582 100644
--- a/extensions/core/executionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/executionlog/jpa/dom/ExecutionLogEntryPK.java
+++ b/extensions/core/executionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/executionlog/jpa/dom/ExecutionLogEntryPK.java
@@ -30,7 +30,7 @@ import javax.persistence.Embeddable;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import org.apache.isis.persistence.jpa.integration.typeconverters.java.util.JavaUtilUuidConverter;
import lombok.AccessLevel;
@@ -74,7 +74,7 @@ public class ExecutionLogEntryPK implements Serializable {
@Component
@Priority(PriorityPrecedence.MIDPOINT)
public static class Semantics
- extends ValueSemanticsBasedOnIdStringifier<ExecutionLogEntryPK> {
+ extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<ExecutionLogEntryPK> {
public Semantics() {
super(ExecutionLogEntryPK.class);
diff --git a/extensions/core/executionoutbox/persistence-jdo/src/main/java/org/apache/isis/extensions/executionoutbox/jdo/dom/ExecutionOutboxEntryPK.java b/extensions/core/executionoutbox/persistence-jdo/src/main/java/org/apache/isis/extensions/executionoutbox/jdo/dom/ExecutionOutboxEntryPK.java
index 79a2be7db0..25e33143ec 100644
--- a/extensions/core/executionoutbox/persistence-jdo/src/main/java/org/apache/isis/extensions/executionoutbox/jdo/dom/ExecutionOutboxEntryPK.java
+++ b/extensions/core/executionoutbox/persistence-jdo/src/main/java/org/apache/isis/extensions/executionoutbox/jdo/dom/ExecutionOutboxEntryPK.java
@@ -27,7 +27,7 @@ import javax.annotation.Priority;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -63,7 +63,7 @@ public class ExecutionOutboxEntryPK implements Serializable {
@Component
@Priority(PriorityPrecedence.MIDPOINT)
public static class Semantics
- extends ValueSemanticsBasedOnIdStringifier<ExecutionOutboxEntryPK> {
+ extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<ExecutionOutboxEntryPK> {
public Semantics() {
super(ExecutionOutboxEntryPK.class);
diff --git a/extensions/core/executionoutbox/persistence-jpa/src/main/java/org/apache/isis/extensions/executionoutbox/jpa/dom/ExecutionOutboxEntryPK.java b/extensions/core/executionoutbox/persistence-jpa/src/main/java/org/apache/isis/extensions/executionoutbox/jpa/dom/ExecutionOutboxEntryPK.java
index 059d038058..bbc25b7f79 100644
--- a/extensions/core/executionoutbox/persistence-jpa/src/main/java/org/apache/isis/extensions/executionoutbox/jpa/dom/ExecutionOutboxEntryPK.java
+++ b/extensions/core/executionoutbox/persistence-jpa/src/main/java/org/apache/isis/extensions/executionoutbox/jpa/dom/ExecutionOutboxEntryPK.java
@@ -30,7 +30,7 @@ import javax.persistence.Embeddable;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import org.apache.isis.persistence.jpa.integration.typeconverters.java.util.JavaUtilUuidConverter;
import lombok.AccessLevel;
@@ -74,7 +74,7 @@ public class ExecutionOutboxEntryPK implements Serializable {
@Component
@Priority(PriorityPrecedence.MIDPOINT)
public static class Semantics
- extends ValueSemanticsBasedOnIdStringifier<ExecutionOutboxEntryPK> {
+ extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<ExecutionOutboxEntryPK> {
public Semantics() {
super(ExecutionOutboxEntryPK.class);
diff --git a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
index 42517e6979..f4b73fb5fe 100644
--- a/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
+++ b/extensions/security/sessionlog/persistence-jpa/src/main/java/org/apache/isis/extensions/sessionlog/jpa/dom/SessionLogEntryPK.java
@@ -31,7 +31,7 @@ import javax.persistence.Embeddable;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import org.apache.isis.extensions.sessionlog.applib.dom.SessionLogEntry;
import org.apache.isis.persistence.jpa.integration.typeconverters.java.util.JavaUtilUuidConverter;
@@ -64,7 +64,7 @@ public class SessionLogEntryPK implements Serializable {
@Component
@Priority(PriorityPrecedence.MIDPOINT)
public static class Semantics
- extends ValueSemanticsBasedOnIdStringifier<SessionLogEntryPK> {
+ extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<SessionLogEntryPK> {
public Semantics() {
super(SessionLogEntryPK.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/JdoByteIdValueSemantics.java
index 919bb52955..cfda144bf1 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/JdoByteIdValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoByteIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ByteId> {
+extends ValueSemanticsBasedOnIdStringifier<ByteId> {
public JdoByteIdValueSemantics() {
super(ByteId.class);
@@ -57,13 +57,13 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ByteId> {
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public ByteId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ByteId destring(final @NonNull Class<?> targetEntityClass, final @NonNull String stringified) {
return new ByteId(targetEntityClass, stringified);
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdentityValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdentityValueSemantics.java
index 2b56eac52a..64ea2d8984 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdentityValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdentityValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoByteIdentityValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ByteIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<ByteIdentity> {
public JdoByteIdentityValueSemantics() {
super(ByteIdentity.class);
@@ -57,13 +57,13 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ByteIdent
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public ByteIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ByteIdentity destring(final @NonNull Class<?> targetEntityClass, final @NonNull String stringified) {
return new ByteIdentity(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/JdoCharIdValueSemantics.java
index 0cb1bf68d1..6ba0be106a 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/JdoCharIdValueSemantics.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.bookmark.IdStringifier;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -39,7 +39,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoCharIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<CharId> {
+extends ValueSemanticsBasedOnIdStringifier<CharId> {
@Inject IdStringifier<Character> idStringifierForCharacter;
@@ -71,7 +71,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<CharId> {
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -83,9 +83,9 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<CharId> {
@Override
public CharId destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
- val idValue = idStringifierForCharacter.destring(stringified);
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
+ 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/JdoCharIdentityValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdentityValueSemantics.java
index 08b11e81a2..a35083b123 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdentityValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdentityValueSemantics.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.bookmark.IdStringifier;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -39,7 +39,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoCharIdentityValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<CharIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<CharIdentity> {
@Inject IdStringifier<Character> idStringifierForCharacter;
@@ -71,7 +71,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<CharIdent
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -83,9 +83,9 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<CharIdent
@Override
public CharIdentity destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
- val idValue = idStringifierForCharacter.destring(stringified);
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
+ val idValue = idStringifierForCharacter.destring(targetEntityClass, stringified);
return new CharIdentity(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/JdoDatastoreIdImplValueSemantics.java
index a4654d2993..cd3e5da923 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/JdoDatastoreIdImplValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -37,7 +37,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoDatastoreIdImplValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<DatastoreIdImpl> {
+extends ValueSemanticsBasedOnIdStringifier<DatastoreIdImpl> {
public static final String STRING_DELIMITER = "[OID]"; // as
@@ -60,7 +60,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<Datastore
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -73,8 +73,8 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<Datastore
@SneakyThrows
@Override
public DatastoreIdImpl destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
// enString invoked toString() on the original key; invoking toString() on its stringified form does not change it
val proto = new DatastoreIdImpl(targetEntityClass.getName(), stringified);
// now render in the form that the DataStoreImpl constructor expects; it will take it apart itself.
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 1447b7de1f..b3732f958d 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
@@ -23,14 +23,13 @@ import java.lang.reflect.Constructor;
import javax.annotation.Priority;
import org.datanucleus.identity.DatastoreId;
-import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.bookmark.IdStringifier;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.commons.internal.factory._InstanceUtil;
@@ -43,7 +42,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE + 100) // after the implementations of DatastoreId; for a custom impl.
public class JdoDatastoreIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<DatastoreId> {
+extends ValueSemanticsBasedOnIdStringifier<DatastoreId> {
public JdoDatastoreIdValueSemantics() {
super(DatastoreId.class);
@@ -64,7 +63,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<Datastore
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -82,8 +81,8 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<Datastore
@SneakyThrows
@Override
public DatastoreId destring(
- final @NonNull String stringified,
- final @Nullable Class<?> targetEntityClass) {
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
int idx = stringified.indexOf(IdStringifier.AbstractWithPrefix.SEPARATOR);
String clsName = stringified.substring(0, idx);
String keyStr = stringified.substring(idx + 1);
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/JdoDatastoreUniqueLongIdValueSemantics.java
index 47f2bebe92..9ed3f16cdd 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/JdoDatastoreUniqueLongIdValueSemantics.java
@@ -24,7 +24,7 @@ import org.datanucleus.identity.DatastoreUniqueLongId;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierEntityAgnostic;
import lombok.NonNull;
@@ -34,7 +34,7 @@ import lombok.NonNull;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoDatastoreUniqueLongIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifier<DatastoreUniqueLongId> {
+extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<DatastoreUniqueLongId> {
public JdoDatastoreUniqueLongIdValueSemantics() {
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/JdoIntIdValueSemantics.java
index 2a43679336..24cd76765a 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/JdoIntIdValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoIntIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<IntId> {
+extends ValueSemanticsBasedOnIdStringifier<IntId> {
public JdoIntIdValueSemantics() {
super(IntId.class);
@@ -57,13 +57,15 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<IntId> {
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public IntId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public IntId destring(
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
return new IntId(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdentityValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdentityValueSemantics.java
index 2a3605f03c..5a59d56e85 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdentityValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdentityValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoIntIdentityValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<IntIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<IntIdentity> {
public JdoIntIdentityValueSemantics() {
super(IntIdentity.class);
@@ -57,13 +57,15 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<IntIdenti
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public IntIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public IntIdentity destring(
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
return new IntIdentity(targetEntityClass, stringified);
}
}
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/JdoLongIdValueSemantics.java
index af150efa6a..fb23051749 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/JdoLongIdValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoLongIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<LongId> {
+extends ValueSemanticsBasedOnIdStringifier<LongId> {
public JdoLongIdValueSemantics() {
super(LongId.class);
@@ -57,13 +57,15 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<LongId> {
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public LongId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public LongId destring(
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
return new LongId(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdentityValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdentityValueSemantics.java
index 00fc9646ff..db590f611f 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdentityValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdentityValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoLongIdentityValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<LongIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<LongIdentity> {
public JdoLongIdentityValueSemantics() {
super(LongIdentity.class);
@@ -57,13 +57,15 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<LongIdent
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public LongIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public LongIdentity destring(
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
return new LongIdentity(targetEntityClass, stringified);
}
}
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/JdoObjectIdValueSemantics.java
index 8704363e6d..cb25b669f5 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/JdoObjectIdValueSemantics.java
@@ -28,7 +28,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -48,7 +48,7 @@ import lombok.val;
@Priority(PriorityPrecedence.LATE)
@Builder
public class JdoObjectIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ObjectId> {
+extends ValueSemanticsBasedOnIdStringifier<ObjectId> {
private static final String PREFIX_UUID = "u_";
private static final String PREFIX_LONG = "l_";
@@ -73,7 +73,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ObjectId>
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -96,8 +96,8 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ObjectId>
@Override
public ObjectId destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
if (stringified.startsWith(PREFIX_LONG)) {
return new ObjectId(targetEntityClass, Long.parseLong(stringified.substring(PREFIX_LONG.length())));
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdentityValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdentityValueSemantics.java
index b7db0647f4..f5edcb8aaf 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdentityValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdentityValueSemantics.java
@@ -28,7 +28,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -48,7 +48,7 @@ import lombok.val;
@Priority(PriorityPrecedence.LATE)
@Builder
public class JdoObjectIdentityValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ObjectIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<ObjectIdentity> {
private static final String PREFIX_UUID = "u_";
private static final String PREFIX_LONG = "l_";
@@ -73,7 +73,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ObjectIde
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -96,8 +96,8 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ObjectIde
@Override
public ObjectIdentity destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
if (stringified.startsWith(PREFIX_LONG)) {
return new ObjectIdentity(targetEntityClass, Long.parseLong(stringified.substring(PREFIX_LONG.length())));
}
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/JdoShortIdValueSemantics.java
index 5493173a51..bff3bb1526 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/JdoShortIdValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoShortIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ShortId> {
+extends ValueSemanticsBasedOnIdStringifier<ShortId> {
public JdoShortIdValueSemantics() {
super(ShortId.class);
@@ -57,13 +57,15 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ShortId>
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public ShortId destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ShortId destring(
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
return new ShortId(targetEntityClass, stringified);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdentityValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdentityValueSemantics.java
index 2273fb91f4..1333efbc43 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdentityValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdentityValueSemantics.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -36,7 +36,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoShortIdentityValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ShortIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<ShortIdentity> {
public JdoShortIdentityValueSemantics() {
super(ShortIdentity.class);
@@ -57,13 +57,15 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<ShortIden
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@Override
- public ShortIdentity destring(final @NonNull String stringified, final @NonNull Class<?> targetEntityClass) {
+ public ShortIdentity destring(
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
return new ShortIdentity(targetEntityClass, stringified);
}
}
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/JdoStringIdValueSemantics.java
index 2549c587ec..1f714dd3fa 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/JdoStringIdValueSemantics.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.bookmark.IdStringifier;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -39,7 +39,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoStringIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<StringIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
@Inject IdStringifier<String> idStringifierForString;
@@ -71,7 +71,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<StringIde
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -83,9 +83,9 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<StringIde
@Override
public StringIdentity destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
- val idValue = idStringifierForString.destring(stringified);
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
+ val idValue = idStringifierForString.destring(targetEntityClass, stringified);
return new StringIdentity(targetEntityClass, idValue);
}
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdentityValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdentityValueSemantics.java
index 96a6dbf8bd..8a88cc4899 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdentityValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdentityValueSemantics.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.services.bookmark.IdStringifier;
import org.apache.isis.applib.util.schema.CommonDtoUtils;
import org.apache.isis.applib.value.semantics.ValueDecomposition;
-import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport;
+import org.apache.isis.applib.value.semantics.ValueSemanticsBasedOnIdStringifier;
import org.apache.isis.commons.internal.factory._InstanceUtil;
import org.apache.isis.schema.common.v2.ValueType;
@@ -39,7 +39,7 @@ import lombok.val;
@Component
@Priority(PriorityPrecedence.LATE)
public class JdoStringIdentityValueSemantics
-extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<StringIdentity> {
+extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
@Inject IdStringifier<String> idStringifierForString;
@@ -71,7 +71,7 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<StringIde
val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
final String targetClassName = (String)elementMap.get("targetClassName");
final String key = (String)elementMap.get("key");
- return destring(key, _InstanceUtil.loadClass(targetClassName));
+ return destring(_InstanceUtil.loadClass(targetClassName), key);
}
// -- ID STRINGIFIER
@@ -83,9 +83,9 @@ extends ValueSemanticsBasedOnIdStringifierWithTargetEntityClassSupport<StringIde
@Override
public StringIdentity destring(
- final @NonNull String stringified,
- final @NonNull Class<?> targetEntityClass) {
- val idValue = idStringifierForString.destring(stringified);
+ final @NonNull Class<?> targetEntityClass,
+ final @NonNull String stringified) {
+ val idValue = idStringifierForString.destring(targetEntityClass, stringified);
return new StringIdentity(targetEntityClass, idValue);
}
}
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForByteIdentity_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForByteIdentity_Test.java
index 307c7bdb1a..2eb9c51ebf 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForByteIdentity_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForByteIdentity_Test.java
@@ -56,7 +56,7 @@ class IdStringifierForByteIdentity_Test {
val stringifier = new JdoByteIdentityValueSemantics();
val stringified = stringifier.enstring(new ByteIdentity(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClass()).isEqualTo(entityType);
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForCharIdentity_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForCharIdentity_Test.java
index fed3793f7d..755b7b84b2 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForCharIdentity_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForCharIdentity_Test.java
@@ -77,7 +77,7 @@ class IdStringifierForCharIdentity_Test {
val value = new CharIdentity(entityType, c);
val stringified = stringifier.enstring(value);
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
assertThat(parse).isEqualTo(value);
}
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 4e795cacad..34e0f4d796 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
@@ -58,7 +58,7 @@ class IdStringifierForDatastoreId_DatastoreIdImpl_long_Test {
if(enstringed != null) {
Assertions.assertThat(stringified).isEqualTo(enstringed);
}
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClassName()).isEqualTo(entityType.getName());
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 24f256c1f4..c344df8713 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
@@ -55,7 +55,7 @@ class IdStringifierForIntId_Test {
val stringifier = new JdoIntIdValueSemantics();
val stringified = stringifier.enstring(new IntId(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClassName()).isEqualTo(entityType.getName());
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntIdentity_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntIdentity_Test.java
index 58e60096c4..84a6d7ab15 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntIdentity_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntIdentity_Test.java
@@ -56,7 +56,7 @@ class IdStringifierForIntIdentity_Test {
val stringifier = new JdoIntIdentityValueSemantics();
val stringified = stringifier.enstring(new IntIdentity(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClass()).isEqualTo(entityType);
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 e4ec1c7f91..db92e86aa7 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
@@ -55,7 +55,7 @@ class IdStringifierForLongId_Test {
val stringifier = new JdoLongIdValueSemantics();
val stringified = stringifier.enstring(new LongId(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClassName()).isEqualTo(entityType.getName());
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongIdentity_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongIdentity_Test.java
index 169797554e..c4a2290b24 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongIdentity_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongIdentity_Test.java
@@ -56,7 +56,7 @@ class IdStringifierForLongIdentity_Test {
val stringifier = new JdoLongIdentityValueSemantics();
val stringified = stringifier.enstring(new LongIdentity(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClass()).isEqualTo(entityType);
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForObjectIdentity_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForObjectIdentity_Test.java
index 081eebd7a7..daa19833b3 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForObjectIdentity_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForObjectIdentity_Test.java
@@ -56,7 +56,7 @@ class IdStringifierForObjectIdentity_Test {
val stringifier = JdoObjectIdentityValueSemantics.builder().build();
val stringified = stringifier.enstring(new ObjectIdentity(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClass()).isEqualTo(entityType);
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForShortIdentity_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForShortIdentity_Test.java
index 5ee28be801..d6b4bbc13f 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForShortIdentity_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForShortIdentity_Test.java
@@ -56,7 +56,7 @@ class IdStringifierForShortIdentity_Test {
val stringifier = new JdoShortIdentityValueSemantics();
val stringified = stringifier.enstring(new ShortIdentity(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClass()).isEqualTo(entityType);
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForStringIdentity_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForStringIdentity_Test.java
index 90ae55b4a6..be287bfb05 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForStringIdentity_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForStringIdentity_Test.java
@@ -63,7 +63,7 @@ class IdStringifierForStringIdentity_Test {
.idStringifierForString(new StringValueSemantics()).build();
val stringified = stringifier.enstring(new StringIdentity(entityType, value));
- val parse = stringifier.destring(stringified, entityType);
+ val parse = stringifier.destring(entityType, stringified);
Assertions.assertThat(parse.getKeyAsObject()).isEqualTo(value);
Assertions.assertThat(parse.getTargetClass()).isEqualTo(entityType);