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 2021/04/15 16:26:34 UTC
[isis] branch master updated: ISIS-2569: remove Oid.(un)marshaller()
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 97e97f7 ISIS-2569: remove Oid.(un)marshaller()
97e97f7 is described below
commit 97e97f7fb8a09fd8aaeffbb3e22ee6dd32a11825
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Apr 15 18:26:15 2021 +0200
ISIS-2569: remove Oid.(un)marshaller()
---
.../isis/core/metamodel/adapter/oid/Oid.java | 58 +++++++++-------------
.../core/metamodel/adapter/oid/_OidMarshaller.java | 40 ++++-----------
.../adapter/oid/{_RootOid.java => _SimpleOid.java} | 38 +++-----------
.../adapter/oid/OidMarshallerTest_marshall.java | 10 +---
.../oid/OidMarshallerTest_roundtripping.java | 4 +-
.../adapter/oid/OidMarshallerTest_unmarshal.java | 23 +++------
.../component/FullCalendarWithEventHandling.java | 2 +-
.../restfulobjects/rendering/IResourceContext.java | 2 +-
.../viewer/resources/JsonParserHelper.java | 3 +-
.../viewer/resources/ResourceAbstract.java | 5 +-
.../wicket/model/models/BookmarkTreeNode.java | 10 ++--
.../viewer/wicket/model/models/EntityModel.java | 2 +-
.../wicket/model/models/PageParameterUtil.java | 4 +-
.../widgets/breadcrumbs/BreadcrumbModel.java | 2 +-
.../widgets/breadcrumbs/BreadcrumbPanel.java | 4 +-
.../ObjectAdapterMementoProviderAbstract.java | 2 +-
.../integration/ConverterForObjectAdapter.java | 2 +-
.../ConverterForObjectAdapterMemento.java | 2 +-
.../viewer/services/mementos/ObjectMementoWkt.java | 2 +-
19 files changed, 74 insertions(+), 141 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java
index 346f3dc..c2c3850 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid.java
@@ -45,35 +45,44 @@ public interface Oid extends Serializable {
// -- FACTORIES
-
public static Oid empty() {
return _EmptyOid.INSTANCE;
}
public static Oid root(final LogicalType logicalType, final String identifier) {
- return _RootOid.of(
+ return _SimpleOid.of(
logicalType.getLogicalTypeName(),
identifier);
}
public static Oid forBookmark(final Bookmark bookmark) {
- return _RootOid.of(
+ return _SimpleOid.of(
bookmark.getLogicalTypeName(),
bookmark.getIdentifier());
}
public static Oid forDto(final OidDto oid) {
- return _RootOid.of(
+ return _SimpleOid.of(
oid.getType(),
oid.getId());
}
+ public static Oid forLogicalTypeNameAndIdentifier(
+ final String logicalTypeName,
+ final String identifier) {
+ return _SimpleOid.of(
+ logicalTypeName,
+ identifier);
+ }
+
// --
/**
* A string representation of this {@link Oid}.
*/
- String enString();
+ default String enString() {
+ return _OidMarshaller.marshal(this);
+ }
default boolean isEmpty() {
return false; // default, only overridden by Oid_Value
@@ -85,43 +94,24 @@ public interface Oid extends Serializable {
*/
String getLogicalTypeName();
- // -- MARSHALLING
-
- public static interface Marshaller {
- String marshal(Oid oid);
- String joinAsOid(String logicalTypeName, String instanceId);
- }
-
- public static Marshaller marshaller() {
- return _OidMarshaller.INSTANCE;
- }
-
- // -- UN-MARSHALLING
-
- public static interface Unmarshaller {
- <T extends Oid> T unmarshal(String oidStr, Class<T> requestedType);
- String splitInstanceId(String oidStr);
- }
-
- public static Unmarshaller unmarshaller() {
- return _OidMarshaller.INSTANCE;
- }
// -- REFACTORING ...
String getIdentifier();
- Bookmark asBookmark();
-
- // -- DECODE FROM STRING
-
- public static Oid deStringEncoded(final String urlEncodedOidStr) {
+ public default Bookmark asBookmark() {
+ return Bookmark.of(getLogicalTypeName(), getIdentifier());
+ }
+
+ // -- DECODE FROM STRING
+
+ public static Oid parseEncoded(final String urlEncodedOidStr) {
final String oidStr = _UrlDecoderUtil.urlDecode(urlEncodedOidStr);
- return deString(oidStr);
+ return parse(oidStr);
}
- public static Oid deString(final String oidStr) {
- return Oid.unmarshaller().unmarshal(oidStr, Oid.class);
+ public static Oid parse(final String oidStr) {
+ return _OidMarshaller.unmarshal(oidStr, _SimpleOid.class);
}
// -- OBJECT LOADING
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_OidMarshaller.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_OidMarshaller.java
index bdea7b8..a832670 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_OidMarshaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_OidMarshaller.java
@@ -80,11 +80,7 @@ import static org.apache.isis.commons.internal.base._Strings.splitThenStream;
* <p>
* Note that # and ; were not chosen as separators to minimize noise when URL encoding OIDs.
*/
-final class _OidMarshaller implements Oid.Marshaller, Oid.Unmarshaller {
-
- public static final _OidMarshaller INSTANCE = new _OidMarshaller();
-
- private _OidMarshaller(){}
+final class _OidMarshaller {
@Deprecated
private static final String VIEWMODEL_INDICATOR = "*";
@@ -115,26 +111,16 @@ final class _OidMarshaller implements Oid.Marshaller, Oid.Unmarshaller {
"([\\" + SEPARATOR_VERSION + "].*)?" + // to be compatible with previous patterns, that optionally included version information
"$");
+ // -- MARSHAL
- // -- join, split
-
- @Override //implementing Oid.Marshaller
- public String joinAsOid(String domainType, String instanceId) {
- return domainType + SEPARATOR + instanceId;
- }
-
- @Override //implementing Oid.Unarshaller
- public String splitInstanceId(String oidStr) {
- final int indexOfSeperator = oidStr.indexOf(SEPARATOR);
- return indexOfSeperator > 0? oidStr.substring(indexOfSeperator+1): null;
+ static final String marshal(Oid oid) {
+ _Assert.assertFalse(oid.isEmpty(), "cannot marshal an empty OID");
+ return oid.getLogicalTypeName() + SEPARATOR + oid.getIdentifier();
}
+ // -- UNMARSHAL
-
- // -- unmarshal
-
- @Override
- public <T extends Oid> T unmarshal(String oidStr, Class<T> requestedType) {
+ static <T extends Oid> T unmarshal(String oidStr, Class<T> requestedType) {
final Matcher matcher = OIDSTR_PATTERN.matcher(oidStr);
if (!matcher.matches()) {
@@ -174,7 +160,7 @@ final class _OidMarshaller implements Oid.Marshaller, Oid.Unmarshaller {
if(aggregateOidParts.isEmpty()) {
ensureCorrectType(oidStr, requestedType, Oid.class);
return _Casts.uncheckedCast(
- _RootOid.of(rootObjectType, rootIdentifier));
+ _SimpleOid.of(rootObjectType, rootIdentifier));
} else {
throw _Exceptions.illegalArgument("Aggregated OIDs are no longer supported");
}
@@ -197,7 +183,7 @@ final class _OidMarshaller implements Oid.Marshaller, Oid.Unmarshaller {
}
- private <T> void ensureCorrectType(String oidStr, Class<T> requestedType,
+ private static <T> void ensureCorrectType(String oidStr, Class<T> requestedType,
final Class<? extends Oid> actualType) {
if(!requestedType.isAssignableFrom(actualType)) {
@@ -208,7 +194,7 @@ final class _OidMarshaller implements Oid.Marshaller, Oid.Unmarshaller {
}
}
- private String getGroup(final Matcher matcher, final int group) {
+ private static String getGroup(final Matcher matcher, final int group) {
final int groupCount = matcher.groupCount();
if(group > groupCount) {
return null;
@@ -218,11 +204,5 @@ final class _OidMarshaller implements Oid.Marshaller, Oid.Unmarshaller {
}
- // -- marshal
- @Override
- public final String marshal(Oid oid) {
- _Assert.assertFalse(oid.isEmpty(), "cannot marshal an empty OID");
- return oid.getLogicalTypeName() + SEPARATOR + oid.getIdentifier();
- }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_RootOid.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_SimpleOid.java
similarity index 70%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_RootOid.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_SimpleOid.java
index d481584..325d19c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_RootOid.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_SimpleOid.java
@@ -21,13 +21,10 @@ package org.apache.isis.core.metamodel.adapter.oid;
import java.util.Objects;
-import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
-
import lombok.Getter;
import lombok.NonNull;
-final class _RootOid implements Oid {
+final class _SimpleOid implements Oid {
private static final long serialVersionUID = 3L;
@@ -36,13 +33,13 @@ final class _RootOid implements Oid {
private final int hashCode;
- public static _RootOid of(
+ static _SimpleOid of(
final @NonNull String logicalTypeName,
final @NonNull String identifier) {
- return new _RootOid(logicalTypeName, identifier);
+ return new _SimpleOid(logicalTypeName, identifier);
}
- private _RootOid(
+ private _SimpleOid(
final String logicalTypeName,
final String identifier) {
@@ -52,27 +49,8 @@ final class _RootOid implements Oid {
}
- // -- ENCODING
+ // -- OBJECT CONTRACT
- public static _RootOid deStringEncoded(final String urlEncodedOidStr) {
- final String oidStr = _UrlDecoderUtil.urlDecode(urlEncodedOidStr);
- return deString(oidStr);
- }
-
- public static _RootOid deString(final String oidStr) {
- return Oid.unmarshaller().unmarshal(oidStr, _RootOid.class);
- }
-
- @Override
- public String enString() {
- return Oid.marshaller().marshal(this);
- }
-
- @Override
- public Bookmark asBookmark() {
- return Bookmark.of(logicalTypeName, getIdentifier());
- }
-
@Override
public boolean equals(final Object other) {
if (other == null) {
@@ -84,10 +62,10 @@ final class _RootOid implements Oid {
if (getClass() != other.getClass()) {
return false;
}
- return equals((_RootOid) other);
+ return equals((_SimpleOid) other);
}
- public boolean equals(final _RootOid other) {
+ public boolean equals(final _SimpleOid other) {
return Objects.equals(logicalTypeName, other.getLogicalTypeName())
&& Objects.equals(identifier, other.getIdentifier());
}
@@ -101,7 +79,7 @@ final class _RootOid implements Oid {
public String toString() {
return enString();
}
-
+
// -- HELPER
private int calculateHash() {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_marshall.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_marshall.java
index 0896bc4..afff9a5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_marshall.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_marshall.java
@@ -18,7 +18,6 @@
*/
package org.apache.isis.core.metamodel.adapter.oid;
-import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.equalTo;
@@ -26,16 +25,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
public class OidMarshallerTest_marshall {
- private _OidMarshaller oidMarshaller;
-
- @Before
- public void setUp() throws Exception {
- oidMarshaller = _OidMarshaller.INSTANCE;
- }
-
@Test
public void oid() {
- final String marshal = oidMarshaller.marshal(Oid.root(LogicalTypeTestFactory.cus(), "123"));
+ final String marshal = _OidMarshaller.marshal(Oid.root(LogicalTypeTestFactory.cus(), "123"));
assertThat(marshal, equalTo("CUS:123"));
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_roundtripping.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_roundtripping.java
index 547d349..64fc758 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_roundtripping.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_roundtripping.java
@@ -33,7 +33,7 @@ public class OidMarshallerTest_roundtripping {
val oid = Oid.root(LogicalTypeTestFactory.cus(), "123");
final String enString = oid.enString();
- final Oid deString = Oid.deString(enString);
+ final Oid deString = Oid.parse(enString);
assertThat(deString, is(oid));
}
@@ -42,7 +42,7 @@ public class OidMarshallerTest_roundtripping {
val oid = Oid.root(LogicalTypeTestFactory.cus(), "123");
final String enString = oid.enString();
- final Oid deString = Oid.deString(enString + "^" + 90807L);
+ final Oid deString = Oid.parse(enString + "^" + 90807L);
assertThat(deString, is(oid));
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_unmarshal.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_unmarshal.java
index cbabf43..fea8fa2 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_unmarshal.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshallerTest_unmarshal.java
@@ -18,7 +18,6 @@
*/
package org.apache.isis.core.metamodel.adapter.oid;
-import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.equalTo;
@@ -55,22 +54,15 @@ import static org.hamcrest.MatcherAssert.assertThat;
*/
public class OidMarshallerTest_unmarshal {
- private _OidMarshaller oidMarshaller;
-
- @Before
- public void setUp() throws Exception {
- oidMarshaller = _OidMarshaller.INSTANCE;
- }
-
@Test
public void persistentRoot() {
final String oidStr = "CUS:123";
- final Oid oid = oidMarshaller.unmarshal(oidStr, Oid.class);
+ final Oid oid = _OidMarshaller.unmarshal(oidStr, Oid.class);
assertThat(oid.getLogicalTypeName(), is("CUS"));
assertThat(oid.getIdentifier(), is("123"));
- final Oid oid2 = oidMarshaller.unmarshal(oidStr, Oid.class);
+ final Oid oid2 = _OidMarshaller.unmarshal(oidStr, Oid.class);
assertThat(oid, equalTo(oid2));
}
@@ -78,11 +70,11 @@ public class OidMarshallerTest_unmarshal {
public void persistentRootWithFullyQualifiedSpecId() {
final String oidStr = "com.planchase.ClassName:8";
- final Oid oid = oidMarshaller.unmarshal(oidStr, Oid.class);
+ final Oid oid = _OidMarshaller.unmarshal(oidStr, Oid.class);
assertThat(oid.getLogicalTypeName(), is("com.planchase.ClassName"));
assertThat(oid.getIdentifier(), is("8"));
- final Oid oid2 = oidMarshaller.unmarshal(oidStr, Oid.class);
+ final Oid oid2 = _OidMarshaller.unmarshal(oidStr, Oid.class);
assertThat(oid, equalTo(oid2));
}
@@ -99,20 +91,19 @@ public class OidMarshallerTest_unmarshal {
public void transientRoot() {
final String oidStr = "!CUS:123";
- final Oid oid = oidMarshaller.unmarshal(oidStr, Oid.class);
+ final Oid oid = _OidMarshaller.unmarshal(oidStr, Oid.class);
assertThat(oid.getLogicalTypeName(), is("CUS"));
assertThat(oid.getIdentifier(), is("123"));
- final Oid oid2 = oidMarshaller.unmarshal(oidStr, Oid.class);
+ final Oid oid2 = _OidMarshaller.unmarshal(oidStr, Oid.class);
assertThat(oid, equalTo(oid2));
}
@Test(expected=IllegalArgumentException.class)
public void badPattern() {
- oidMarshaller.unmarshal("xxx", Oid.class);
+ _OidMarshaller.unmarshal("xxx", Oid.class);
}
-
}
diff --git a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/FullCalendarWithEventHandling.java b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/FullCalendarWithEventHandling.java
index bda6422..25b2a97 100644
--- a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/FullCalendarWithEventHandling.java
+++ b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/FullCalendarWithEventHandling.java
@@ -61,7 +61,7 @@ final class FullCalendarWithEventHandling extends FullCalendar {
final CalendarResponse response) {
final String oidStr = (String) event.getEvent().getPayload();
- final Oid oid = Oid.deString(oidStr);
+ final Oid oid = Oid.parse(oidStr);
val commonContext = getCommonContext();
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
index 1a84993..37ba0bf 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
@@ -108,7 +108,7 @@ public interface IResourceContext {
default Optional<ManagedObject> getObjectAdapterForOidFromHref(String oidFromHref) {
String oidStrUnencoded = UrlDecoderUtils.urlDecode(oidFromHref);
- val oid = Oid.deString(oidStrUnencoded);
+ val oid = Oid.parse(oidStrUnencoded);
return oid.loadObject(getMetaModelContext());
}
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/JsonParserHelper.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/JsonParserHelper.java
index a652114..bc68ed8 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/JsonParserHelper.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/JsonParserHelper.java
@@ -151,7 +151,8 @@ public class JsonParserHelper {
}
String domainType = matcher.group(1);
String instanceId = matcher.group(2);
- return Oid.marshaller().joinAsOid(domainType, instanceId);
+
+ return Oid.forLogicalTypeNameAndIdentifier(domainType, instanceId).enString();
}
private static String resourceFor(final ObjectSpecification objectSpec) {
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
index 62e0263..7107222 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
@@ -125,9 +125,8 @@ public abstract class ResourceAbstract {
protected ManagedObject getObjectAdapterElseThrowNotFound(String domainType, final String instanceIdEncoded) {
final String instanceIdUnencoded = UrlDecoderUtils.urlDecode(instanceIdEncoded);
- final String oidStrUnencoded = Oid.marshaller().joinAsOid(domainType, instanceIdUnencoded);
- val oid = Oid.deString(oidStrUnencoded);
-
+
+ val oid = Oid.forLogicalTypeNameAndIdentifier(domainType, instanceIdUnencoded);
return oid
.loadObject(metaModelContext)
.orElseThrow(()->RestfulObjectsApplicationException
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
index 4f313fa..869a82e 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
@@ -62,8 +62,8 @@ public class BookmarkTreeNode implements Serializable {
final int depth) {
pageParameters = bookmarkableModel.getPageParametersWithoutUiHints();
Oid oid = oidFrom(pageParameters);
- this.oidNoVerStr = Oid.marshaller().marshal(oid);
- this.oidNoVer = Oid.unmarshaller().unmarshal(oidNoVerStr, Oid.class);
+ this.oidNoVerStr = oid.enString();
+ this.oidNoVer = Oid.parse(oidNoVerStr);
// replace oid with the noVer equivalent.
PageParameterNames.OBJECT_OID.removeFrom(pageParameters);
@@ -250,7 +250,7 @@ public class BookmarkTreeNode implements Serializable {
return null;
}
try {
- return Oid.unmarshaller().unmarshal(oidStr, Oid.class);
+ return Oid.parse(oidStr);
} catch(Exception ex) {
return null;
}
@@ -258,7 +258,9 @@ public class BookmarkTreeNode implements Serializable {
public static String oidStrFrom(BookmarkableModel candidateBookmarkableModel) {
final Oid oid = oidFrom(candidateBookmarkableModel.getPageParametersWithoutUiHints());
- return oid != null? Oid.marshaller().marshal(oid): null;
+ return oid != null
+ ? oid.enString()
+ : null;
}
}
\ No newline at end of file
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 63947ef..841d862 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -149,7 +149,7 @@ implements HasRenderingHints, ObjectAdapterModel, UiHintContainer, ObjectUiModel
}
private static Oid oidFrom(final PageParameters pageParameters) {
- return Oid.unmarshaller().unmarshal(oidStr(pageParameters), Oid.class);
+ return Oid.parse(oidStr(pageParameters));
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/PageParameterUtil.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/PageParameterUtil.java
index 5f5f60a..3661c44 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/PageParameterUtil.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/PageParameterUtil.java
@@ -200,7 +200,7 @@ public class PageParameterUtil {
private static Oid oidFor(final PageParameters pageParameters) {
final String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
- return Oid.unmarshaller().unmarshal(oidStr, Oid.class);
+ return Oid.parse(oidStr);
}
private static final String NULL_ARG = "$nullArg$";
@@ -232,7 +232,7 @@ public class PageParameterUtil {
}
try {
- val oid = Oid.deStringEncoded(encoded);
+ val oid = Oid.parseEncoded(encoded);
return oid.loadObject(mmc).orElse(null);
} catch (final Exception e) {
return null;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
index af59403..87c8aa3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
@@ -102,7 +102,7 @@ public class BreadcrumbModel implements Serializable {
return null;
}
try {
- final Oid unmarshal = Oid.unmarshaller().unmarshal(oidStr, Oid.class);
+ final Oid unmarshal = Oid.parse(oidStr);
return unmarshal.enString();
} catch(Exception ex) {
return null;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
index 21e90aa..1541ddd 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
@@ -80,8 +80,8 @@ extends PanelAbstract<Void, IModel<Void>> {
try {
final PageParameters pageParameters = choice.getPageParametersWithoutUiHints();
final String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
- final Oid result = Oid.deString(oidStr);
- return Oid.marshaller().marshal(result);
+ final Oid resultOid = Oid.parse(oidStr);
+ return resultOid.enString();
} catch (Exception ex) {
breadcrumbModel.remove(choice);
return null;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java
index f487dbf..ee42a4f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ObjectAdapterMementoProviderAbstract.java
@@ -178,7 +178,7 @@ extends ChoiceProvider<ObjectMemento> {
if(NULL_PLACEHOLDER.equals(id)) {
return null;
}
- val oid = Oid.deString(id);
+ val oid = Oid.parse(id);
return getCommonContext().mementoFor(oid);
}
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapter.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapter.java
index f922234..d1c9b76 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapter.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapter.java
@@ -49,7 +49,7 @@ public class ConverterForObjectAdapter implements IConverter<ManagedObject> {
*/
@Override
public ManagedObject convertToObject(final String value, final Locale locale) {
- val oid = Oid.deStringEncoded(value);
+ val oid = Oid.parseEncoded(value);
val spec = objectManager.getMetaModelContext()
.getSpecificationLoader()
.specForLogicalTypeNameElseFail(oid.getLogicalTypeName());
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapterMemento.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapterMemento.java
index b3ec42d..2fe27f3 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapterMemento.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapterMemento.java
@@ -53,7 +53,7 @@ public class ConverterForObjectAdapterMemento implements IConverter<ObjectMement
if (_Strings.isNullOrEmpty(value)) {
return null;
}
- val oid = Oid.deStringEncoded(value);
+ val oid = Oid.parseEncoded(value);
return commonContext.mementoFor(oid);
}
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java
index 343e010..fd52352 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java
@@ -230,7 +230,7 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
"need an id to lookup an object, got logical-type %s", memento.logicalType);
}
- Oid oid = Oid.unmarshaller().unmarshal(memento.persistentOidStr, Oid.class);
+ Oid oid = Oid.parse(memento.persistentOidStr);
try {
log.debug("lookup by oid [{}]", oid);