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 15:50:20 UTC

[isis] branch master updated (e3dc542 -> 25c2fa2)

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

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


    from e3dc542  ISIS-2569: remove OidDto RootOid#asOidDto();
     new 7300e98  ISIS-2569: remove RootOid
     new 25c2fa2  ISIS-2569: rename 'rootOid' -> 'oid'

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../isis/core/metamodel/adapter/oid/Oid.java       | 93 +++++++++++++++-------
 .../isis/core/metamodel/adapter/oid/RootOid.java   | 66 ---------------
 .../adapter/oid/{Oid_Value.java => _EmptyOid.java} |  8 +-
 .../{Oid_Marshaller.java => _OidMarshaller.java}   | 16 ++--
 .../adapter/oid/{Oid_Root.java => _RootOid.java}   | 18 ++---
 .../metamodel/objectmanager/ObjectManager.java     |  4 +-
 .../objectmanager/identify/ObjectIdentifier.java   |  6 +-
 .../identify/ObjectIdentifier_builtinHandlers.java | 25 +++---
 .../isis/core/metamodel/spec/ManagedObject.java    | 30 +++----
 .../metamodel/spec/ManagedObjectInternalUtil.java  |  6 +-
 .../isis/core/metamodel/spec/ManagedObjects.java   | 16 ++--
 .../adapter/oid/OidMarshallerTest_marshall.java    | 10 +--
 .../oid/OidMarshallerTest_roundtripping.java       | 14 ++--
 .../adapter/oid/OidMarshallerTest_unmarshal.java   | 36 ++++-----
 .../core/metamodel/adapter/oid/OidVersionTest.java | 14 ++--
 ...dDefaultTest_valueSemantics_whenPersistent.java | 16 ++--
 .../metamodel/adapter/oid/RootOidTest_create.java  |  2 +-
 .../core/runtime/context/IsisAppCommonContext.java |  6 +-
 .../core/runtime/memento/ObjectMementoService.java |  4 +-
 .../command/CommandExecutorServiceDefault.java     |  9 +--
 .../executor/MemberExecutorServiceDefault.java     |  4 +-
 .../interaction/InteractionDtoFactoryDefault.java  |  6 +-
 .../DelegatingInvocationHandlerDefault.java        |  4 +-
 .../ui/component/EventProviderAbstract.java        |  7 +-
 .../component/FullCalendarWithEventHandling.java   |  4 +-
 .../ui/components/collections/TableViewFx.java     |  4 +-
 .../ui/components/collection/TableViewVaa.java     |  4 +-
 .../metamodel/facets/entity/JdoEntityFacet.java    | 12 +--
 .../jdo/datanucleus/oid/JdoObjectIdSerializer.java |  4 +-
 .../restfulobjects/rendering/IResourceContext.java |  6 +-
 .../domainobjects/DomainObjectReprRenderer.java    | 12 +--
 .../viewer/resources/ResourceAbstract.java         |  5 +-
 .../wicket/model/models/BookmarkTreeNode.java      | 14 ++--
 .../model/models/BookmarkTreeNodeComparator.java   |  8 +-
 .../wicket/model/models/BookmarkedPagesModel.java  |  4 +-
 .../viewer/wicket/model/models/EntityModel.java    |  7 +-
 .../wicket/model/models/PageParameterUtil.java     | 13 ++-
 .../bookmarkedpages/BookmarkedPagesPanel.java      |  5 +-
 .../components/tree/IsisToWicketTreeAdapter.java   |  8 +-
 .../widgets/breadcrumbs/BreadcrumbModel.java       | 18 ++---
 .../widgets/breadcrumbs/BreadcrumbPanel.java       |  5 +-
 .../ObjectAdapterMementoProviderAbstract.java      |  6 +-
 .../integration/ConverterForObjectAdapter.java     |  7 +-
 .../ConverterForObjectAdapterMemento.java          |  7 +-
 .../mementos/ObjectMementoServiceWicket.java       |  8 +-
 .../viewer/services/mementos/ObjectMementoWkt.java | 29 ++++---
 46 files changed, 283 insertions(+), 327 deletions(-)
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/RootOid.java
 rename core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/{Oid_Value.java => _EmptyOid.java} (90%)
 rename core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/{Oid_Marshaller.java => _OidMarshaller.java} (94%)
 rename core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/{Oid_Root.java => _RootOid.java} (86%)

[isis] 01/02: ISIS-2569: remove RootOid

Posted by ah...@apache.org.
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

commit 7300e98f2c2aa46d7ee4ad8abf37a1735d3bc790
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Apr 15 17:47:40 2021 +0200

    ISIS-2569: remove RootOid
---
 .../isis/core/metamodel/adapter/oid/Oid.java       | 93 +++++++++++++++-------
 .../isis/core/metamodel/adapter/oid/RootOid.java   | 66 ---------------
 .../adapter/oid/{Oid_Value.java => _EmptyOid.java} |  8 +-
 .../{Oid_Marshaller.java => _OidMarshaller.java}   | 16 ++--
 .../adapter/oid/{Oid_Root.java => _RootOid.java}   | 18 ++---
 .../metamodel/objectmanager/ObjectManager.java     |  4 +-
 .../objectmanager/identify/ObjectIdentifier.java   |  6 +-
 .../identify/ObjectIdentifier_builtinHandlers.java | 25 +++---
 .../isis/core/metamodel/spec/ManagedObject.java    | 16 ++--
 .../metamodel/spec/ManagedObjectInternalUtil.java  |  6 +-
 .../isis/core/metamodel/spec/ManagedObjects.java   | 12 +--
 .../adapter/oid/OidMarshallerTest_marshall.java    |  6 +-
 .../oid/OidMarshallerTest_roundtripping.java       | 10 ++-
 .../adapter/oid/OidMarshallerTest_unmarshal.java   | 12 +--
 .../core/metamodel/adapter/oid/OidVersionTest.java | 14 ++--
 ...dDefaultTest_valueSemantics_whenPersistent.java | 16 ++--
 .../metamodel/adapter/oid/RootOidTest_create.java  |  2 +-
 .../core/runtime/context/IsisAppCommonContext.java |  4 +-
 .../core/runtime/memento/ObjectMementoService.java |  4 +-
 .../command/CommandExecutorServiceDefault.java     |  9 +--
 .../interaction/InteractionDtoFactoryDefault.java  |  6 +-
 .../ui/component/EventProviderAbstract.java        |  3 +-
 .../component/FullCalendarWithEventHandling.java   |  4 +-
 .../ui/components/collections/TableViewFx.java     |  4 +-
 .../ui/components/collection/TableViewVaa.java     |  4 +-
 .../metamodel/facets/entity/JdoEntityFacet.java    |  2 +-
 .../jdo/datanucleus/oid/JdoObjectIdSerializer.java |  4 +-
 .../restfulobjects/rendering/IResourceContext.java |  4 +-
 .../viewer/resources/ResourceAbstract.java         |  3 +-
 .../wicket/model/models/BookmarkTreeNode.java      | 14 ++--
 .../model/models/BookmarkTreeNodeComparator.java   |  8 +-
 .../wicket/model/models/BookmarkedPagesModel.java  |  4 +-
 .../viewer/wicket/model/models/EntityModel.java    |  5 +-
 .../wicket/model/models/PageParameterUtil.java     |  7 +-
 .../bookmarkedpages/BookmarkedPagesPanel.java      |  5 +-
 .../components/tree/IsisToWicketTreeAdapter.java   |  4 +-
 .../widgets/breadcrumbs/BreadcrumbModel.java       |  6 +-
 .../widgets/breadcrumbs/BreadcrumbPanel.java       |  5 +-
 .../ObjectAdapterMementoProviderAbstract.java      |  4 +-
 .../integration/ConverterForObjectAdapter.java     |  3 +-
 .../ConverterForObjectAdapterMemento.java          |  5 +-
 .../mementos/ObjectMementoServiceWicket.java       |  4 +-
 .../viewer/services/mementos/ObjectMementoWkt.java |  7 +-
 43 files changed, 209 insertions(+), 253 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 b315394..919a63d 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
@@ -20,28 +20,62 @@
 package org.apache.isis.core.metamodel.adapter.oid;
 
 import java.io.Serializable;
+import java.util.Optional;
 
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.applib.id.LogicalType;
 import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.objectmanager.load.ObjectLoader;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.schema.common.v2.OidDto;
 
+import lombok.NonNull;
+import lombok.val;
+
 /**
- * An immutable identifier for a root object (subtype {@link RootOid}).
+ * An immutable identifier for a root object.
  *
- * <p>
  * @apiNote value objects (strings, ints, {@link Value}s etc) do not have a 
  * semantically meaningful {@link Oid}, but as an implementation detail 
  * might have a placeholder {@link Oid}. 
  */
 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(
+                logicalType.getLogicalTypeName(), 
+                identifier);
+    }
+    
+    public static Oid forBookmark(final Bookmark bookmark) {
+        return _RootOid.of(
+                bookmark.getLogicalTypeName(), 
+                bookmark.getIdentifier());
+    }
+    
+    public static Oid forDto(final OidDto oid) {
+        return _RootOid.of(
+                oid.getType(), 
+                oid.getId());
+    }
+    
+    // --
+    
     /**
      * A string representation of this {@link Oid}.
      */
     String enString();
 
-    default boolean isValue() {
+    default boolean isEmpty() {
         return false; // default, only overridden by Oid_Value
     }
     
@@ -54,12 +88,12 @@ public interface Oid extends Serializable {
     // -- MARSHALLING
 
     public static interface Marshaller {
-        String marshal(RootOid rootOid);
+        String marshal(Oid rootOid);
         String joinAsOid(String logicalTypeName, String instanceId);
     }
 
     public static Marshaller marshaller() {
-        return Oid_Marshaller.INSTANCE;
+        return _OidMarshaller.INSTANCE;
     }
 
     // -- UN-MARSHALLING
@@ -70,35 +104,38 @@ public interface Oid extends Serializable {
     }
 
     public static Unmarshaller unmarshaller() {
-        return Oid_Marshaller.INSTANCE;
+        return _OidMarshaller.INSTANCE;
     }
+    
+    // -- REFACTORING ...
+    
+    String getIdentifier();
 
-    // -- FACTORIES
+    Bookmark asBookmark();
 
-    /** for convenience*/
-    public static final class Factory {
+    // -- DECODE FROM STRING
 
-        public static RootOid value() {
-            return Oid_Value.INSTANCE;
-        }
+    public static Oid deStringEncoded(final String urlEncodedOidStr) {
+        final String oidStr = _UrlDecoderUtil.urlDecode(urlEncodedOidStr);
+        return deString(oidStr);
+    }
+
+    public static Oid deString(final String oidStr) {
+        return Oid.unmarshaller().unmarshal(oidStr, Oid.class);
+    }
 
-        public static RootOid ofBookmark(final Bookmark bookmark) {
-            return Oid_Root.of(
-                    bookmark.getLogicalTypeName(), 
-                    bookmark.getIdentifier());
-        }
+    // -- OBJECT LOADING
+    
+    default public Optional<ManagedObject> loadObject(final @NonNull MetaModelContext mmc) {
+        
+        val objectId = this.getIdentifier();
+        val specLoader = mmc.getSpecificationLoader(); 
+        val objManager = mmc.getObjectManager();
         
-        public static RootOid ofDto(final OidDto oid) {
-            return Oid_Root.of(
-                    oid.getType(), 
-                    oid.getId());
-        }
-
-        public static RootOid root(final LogicalType logicalType, final String identifier) {
-            return Oid_Root.of(
-                    logicalType.getLogicalTypeName(), 
-                    identifier);
-        }
+        return specLoader
+                .specForLogicalTypeName(this.getLogicalTypeName())
+                .map(spec->objManager.loadObject(
+                        ObjectLoader.Request.of(spec, objectId)));
         
     }
 
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/RootOid.java
deleted file mode 100644
index a809c61..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/RootOid.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.adapter.oid;
-
-import java.util.Optional;
-
-import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.objectmanager.load.ObjectLoader;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-import lombok.NonNull;
-import lombok.val;
-
-public interface RootOid extends Oid {
-
-    String getIdentifier();
-
-    Bookmark asBookmark();
-
-    // -- DECODE FROM STRING
-
-    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);
-    }
-
-    // -- OBJECT LOADING
-    
-    default public Optional<ManagedObject> loadObject(final @NonNull MetaModelContext mmc) {
-        
-        val objectId = this.getIdentifier();
-        val specLoader = mmc.getSpecificationLoader(); 
-        val objManager = mmc.getObjectManager();
-        
-        return specLoader
-                .specForLogicalTypeName(this.getLogicalTypeName())
-        .map(spec->objManager.loadObject(
-                        ObjectLoader.Request.of(spec, objectId)));
-        
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Value.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_EmptyOid.java
similarity index 90%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Value.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_EmptyOid.java
index 91abd81..d95d378 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Value.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_EmptyOid.java
@@ -21,11 +21,11 @@ package org.apache.isis.core.metamodel.adapter.oid;
 
 import org.apache.isis.applib.services.bookmark.Bookmark;
 
-final class Oid_Value implements RootOid {
+final class _EmptyOid implements Oid {
 
     private static final long serialVersionUID = 2L;
 
-    static final Oid_Value INSTANCE = new Oid_Value();
+    static final _EmptyOid INSTANCE = new _EmptyOid();
 
     @Override
     public String enString() {
@@ -33,7 +33,7 @@ final class Oid_Value implements RootOid {
     }
 
     @Override
-    public boolean isValue() { 
+    public boolean isEmpty() { 
         return true; 
     }
 
@@ -49,7 +49,7 @@ final class Oid_Value implements RootOid {
 
     @Override
     public String toString() {
-        return "VALUE_OID";
+        return "EMPTY_OID";
     }
 
     @Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_OidMarshaller.java
similarity index 94%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_OidMarshaller.java
index 86abeec..bdea7b8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Marshaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_OidMarshaller.java
@@ -80,11 +80,11 @@ 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 Oid_Marshaller implements Oid.Marshaller, Oid.Unmarshaller {
+final class _OidMarshaller implements Oid.Marshaller, Oid.Unmarshaller {
 
-    public static final Oid_Marshaller INSTANCE = new Oid_Marshaller();
+    public static final _OidMarshaller INSTANCE = new _OidMarshaller();
 
-    private Oid_Marshaller(){}
+    private _OidMarshaller(){}
 
     @Deprecated
     private static final String VIEWMODEL_INDICATOR = "*";
@@ -172,9 +172,9 @@ final class Oid_Marshaller implements Oid.Marshaller, Oid.Unmarshaller {
 
         if(oneToManyId == null) {
             if(aggregateOidParts.isEmpty()) {
-                ensureCorrectType(oidStr, requestedType, RootOid.class);
+                ensureCorrectType(oidStr, requestedType, Oid.class);
                 return _Casts.uncheckedCast(
-                        Oid_Root.of(rootObjectType, rootIdentifier));
+                        _RootOid.of(rootObjectType, rootIdentifier));
             } else {
                 throw _Exceptions.illegalArgument("Aggregated OIDs are no longer supported");
             }
@@ -220,9 +220,9 @@ final class Oid_Marshaller implements Oid.Marshaller, Oid.Unmarshaller {
 
     // -- marshal
     @Override
-    public final String marshal(RootOid rootOid) {
-        _Assert.assertFalse(rootOid.isValue(), "cannot marshal values");
-        return rootOid.getLogicalTypeName() + SEPARATOR + rootOid.getIdentifier();
+    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/Oid_Root.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_RootOid.java
similarity index 86%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Root.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_RootOid.java
index 8b507ce..d481584 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/Oid_Root.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/_RootOid.java
@@ -27,7 +27,7 @@ import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
 import lombok.Getter;
 import lombok.NonNull;
 
-final class Oid_Root implements RootOid {
+final class _RootOid implements Oid {
 
     private static final long serialVersionUID = 3L;
 
@@ -36,13 +36,13 @@ final class Oid_Root implements RootOid {
     
     private final int hashCode;
 
-    public static Oid_Root of(
+    public static _RootOid of(
             final @NonNull String logicalTypeName, 
             final @NonNull String identifier) {
-        return new Oid_Root(logicalTypeName, identifier);
+        return new _RootOid(logicalTypeName, identifier);
     }
 
-    private Oid_Root(
+    private _RootOid(
             final String logicalTypeName, 
             final String identifier) {
 
@@ -54,13 +54,13 @@ final class Oid_Root implements RootOid {
 
     // -- ENCODING 
     
-    public static Oid_Root deStringEncoded(final String urlEncodedOidStr) {
+    public static _RootOid deStringEncoded(final String urlEncodedOidStr) {
         final String oidStr = _UrlDecoderUtil.urlDecode(urlEncodedOidStr);
         return deString(oidStr);
     }
 
-    public static Oid_Root deString(final String oidStr) {
-        return Oid.unmarshaller().unmarshal(oidStr, Oid_Root.class);
+    public static _RootOid deString(final String oidStr) {
+        return Oid.unmarshaller().unmarshal(oidStr, _RootOid.class);
     }
 
     @Override
@@ -84,10 +84,10 @@ final class Oid_Root implements RootOid {
         if (getClass() != other.getClass()) {
             return false;
         }
-        return equals((Oid_Root) other);
+        return equals((_RootOid) other);
     }
 
-    public boolean equals(final Oid_Root other) {
+    public boolean equals(final _RootOid other) {
         return Objects.equals(logicalTypeName, other.getLogicalTypeName()) 
                 && Objects.equals(identifier, other.getIdentifier());
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectManager.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectManager.java
index deea36b..0d3263b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectManager.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/ObjectManager.java
@@ -23,7 +23,7 @@ import java.util.Optional;
 import javax.annotation.Nullable;
 
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.objectmanager.create.ObjectCreator;
 import org.apache.isis.core.metamodel.objectmanager.detach.ObjectDetacher;
@@ -84,7 +84,7 @@ public interface ObjectManager {
      * Returns an object identifier for the instance.
      * @param managedObject
      */
-    public default RootOid identifyObject(ManagedObject managedObject) {
+    public default Oid identifyObject(ManagedObject managedObject) {
         return getObjectIdentifier().identifyObject(managedObject);
     }
     
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier.java
index 9b19200..76c3731 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.metamodel.objectmanager.identify;
 import org.apache.isis.commons.handler.ChainOfResponsibility;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 
 import lombok.val;
@@ -32,11 +32,11 @@ import lombok.val;
  */
 public interface ObjectIdentifier {
 
-    RootOid identifyObject(ManagedObject managedObject);
+    Oid identifyObject(ManagedObject managedObject);
 
     // -- HANDLER
     
-    public interface Handler extends ChainOfResponsibility.Handler<ManagedObject, RootOid> {}
+    public interface Handler extends ChainOfResponsibility.Handler<ManagedObject, Oid> {}
 
     // -- FACTORY
     
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier_builtinHandlers.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier_builtinHandlers.java
index b7a2be5..06794a6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier_builtinHandlers.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/objectmanager/identify/ObjectIdentifier_builtinHandlers.java
@@ -22,7 +22,6 @@ import java.util.UUID;
 
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.facets.object.entity.EntityFacet;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
 import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
@@ -39,11 +38,11 @@ class ObjectIdentifier_builtinHandlers {
 
         @Override
         public boolean isHandling(ManagedObject managedObject) {
-            return managedObject.getPojo() instanceof RootOid;
+            return managedObject.getPojo() instanceof Oid;
         }
 
         @Override
-        public RootOid handle(ManagedObject managedObject) {
+        public Oid handle(ManagedObject managedObject) {
             throw new IllegalArgumentException("Cannot create a RootOid for pojo, "
                     + "when pojo is instance of RootOid. You might want to ask "
                     + "ObjectAdapterByIdProvider for an ObjectAdapter instead.");
@@ -59,9 +58,9 @@ class ObjectIdentifier_builtinHandlers {
         }
 
         @Override
-        public RootOid handle(ManagedObject managedObject) {
+        public Oid handle(ManagedObject managedObject) {
             final String identifier = SERVICE_IDENTIFIER;
-            return Oid.Factory.root(managedObject.getSpecification().getLogicalType(), identifier);
+            return Oid.root(managedObject.getSpecification().getLogicalType(), identifier);
         }
 
     }
@@ -74,7 +73,7 @@ class ObjectIdentifier_builtinHandlers {
         }
 
         @Override
-        public RootOid handle(ManagedObject managedObject) {
+        public Oid handle(ManagedObject managedObject) {
             val spec = managedObject.getSpecification();
             val pojo = managedObject.getPojo();
             if(pojo==null) {
@@ -87,7 +86,7 @@ class ObjectIdentifier_builtinHandlers {
                 throw _Exceptions.unrecoverable(msg);
             }
             val identifier = entityFacet.identifierFor(spec, pojo);
-            return Oid.Factory.root(spec.getLogicalType(), identifier);
+            return Oid.root(spec.getLogicalType(), identifier);
         }
 
     }
@@ -100,8 +99,8 @@ class ObjectIdentifier_builtinHandlers {
         }
 
         @Override
-        public RootOid handle(ManagedObject managedObject) {
-            return Oid.Factory.value();
+        public Oid handle(ManagedObject managedObject) {
+            return Oid.empty();
         }
 
     }
@@ -114,11 +113,11 @@ class ObjectIdentifier_builtinHandlers {
         }
 
         @Override
-        public RootOid handle(ManagedObject managedObject) {
+        public Oid handle(ManagedObject managedObject) {
             val spec = managedObject.getSpecification();
             val recreatableObjectFacet = spec.getFacet(ViewModelFacet.class);
             val identifier = recreatableObjectFacet.memento(managedObject.getPojo());
-            return Oid.Factory.root(spec.getLogicalType(), identifier);
+            return Oid.root(spec.getLogicalType(), identifier);
         }
 
     }
@@ -131,10 +130,10 @@ class ObjectIdentifier_builtinHandlers {
         }
 
         @Override
-        public RootOid handle(ManagedObject managedObject) {
+        public Oid handle(ManagedObject managedObject) {
             val spec = managedObject.getSpecification();
             val identifier = UUID.randomUUID().toString();
-            return Oid.Factory.root(spec.getLogicalType(), identifier);
+            return Oid.root(spec.getLogicalType(), identifier);
         }
 
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
index 68104c3..afe3e45 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
@@ -26,7 +26,7 @@ import javax.annotation.Nullable;
 
 import org.apache.isis.commons.internal.base._Lazy;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
@@ -61,7 +61,7 @@ public interface ManagedObject {
      * Returns the object id as identified by the ObjectManager. 
      * Entity IDs are considered immutable, hence will be memoized once fetched.
      */
-    Optional<RootOid> getRootOid();
+    Optional<Oid> getRootOid();
     
     boolean isRootOidMemoized();
     
@@ -142,7 +142,7 @@ public interface ManagedObject {
     public static ManagedObject identified(
             @NonNull ObjectSpecification specification, 
             @NonNull Object pojo, 
-            @NonNull RootOid rootOid) {
+            @NonNull Oid rootOid) {
         
         if(!specification.getCorrespondingClass().isAssignableFrom(pojo.getClass())) {
             throw _Exceptions.illegalArgument(
@@ -193,7 +193,7 @@ public interface ManagedObject {
         public static ManagedObject identified(
                 @NonNull  final ObjectSpecification spec, 
                 @Nullable final Object pojo, 
-                @NonNull  final RootOid rootOid) {
+                @NonNull  final Oid rootOid) {
             val managedObject = SimpleManagedObject.of(spec, pojo);
             managedObject.rootOidLazy.set(Optional.of(rootOid));
             return managedObject;
@@ -203,12 +203,12 @@ public interface ManagedObject {
         @Nullable private final Object pojo;
 
         @Override
-        public Optional<RootOid> getRootOid() {
+        public Optional<Oid> getRootOid() {
             return rootOidLazy.get();
         }
         
         // -- LAZY ID HANDLING
-        private final _Lazy<Optional<RootOid>> rootOidLazy = 
+        private final _Lazy<Optional<Oid>> rootOidLazy = 
                 _Lazy.threadSafe(()->ManagedObjectInternalUtil.identify(this));
 
         @Override
@@ -228,12 +228,12 @@ public interface ManagedObject {
         @Getter @NonNull private final Object pojo;
         
         @Override
-        public Optional<RootOid> getRootOid() {
+        public Optional<Oid> getRootOid() {
             return rootOidLazy.get();
         }
         
         // -- LAZY ID HANDLING
-        private final _Lazy<Optional<RootOid>> rootOidLazy = 
+        private final _Lazy<Optional<Oid>> rootOidLazy = 
                 _Lazy.threadSafe(()->ManagedObjectInternalUtil.identify(this));
         
         @Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java
index d14e0fb..b5f81b4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java
@@ -24,7 +24,7 @@ import java.util.Optional;
 import javax.annotation.Nullable;
 
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
@@ -51,7 +51,7 @@ final class ManagedObjectInternalUtil {
         }
 
         @Override
-        public Optional<RootOid> getRootOid() {
+        public Optional<Oid> getRootOid() {
             return Optional.empty();
         }
 
@@ -68,7 +68,7 @@ final class ManagedObjectInternalUtil {
         .map(MetaModelContext::getObjectManager);
     }
     
-    static Optional<RootOid> identify(@Nullable ManagedObject adapter) {
+    static Optional<Oid> identify(@Nullable ManagedObject adapter) {
         return objectManager(adapter)
                 .map(objectManager->objectManager.identifyObject(adapter)); 
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
index 0f0d861..e9c33ff 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
@@ -45,7 +45,7 @@ import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.commons.internal.debug._Probe;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.commons.ClassExtensions;
 import org.apache.isis.core.metamodel.commons.MethodExtensions;
 import org.apache.isis.core.metamodel.commons.MethodUtil;
@@ -123,18 +123,18 @@ public final class ManagedObjects {
         return isSpecified(managedObject) ? Optional.of(managedObject.getSpecification()) : Optional.empty(); 
     }
     
-    public static Optional<RootOid> identify(@Nullable ManagedObject managedObject) {
+    public static Optional<Oid> identify(@Nullable ManagedObject managedObject) {
         return isSpecified(managedObject) ? managedObject.getRootOid() : Optional.empty(); 
     }
     
-    public static RootOid identifyElseFail(@Nullable ManagedObject managedObject) {
+    public static Oid identifyElseFail(@Nullable ManagedObject managedObject) {
         return identify(managedObject)
                 .orElseThrow(()->_Exceptions.illegalArgument("cannot identify %s", managedObject));
     }
     
     public static Optional<Bookmark> bookmark(@Nullable ManagedObject managedObject) {
         return identify(managedObject)
-                .map(RootOid::asBookmark);
+                .map(Oid::asBookmark);
     }
     
     public static Bookmark bookmarkElseFail(@Nullable ManagedObject managedObject) {
@@ -149,7 +149,7 @@ public final class ManagedObjects {
      */
     public static Optional<String> stringify(@Nullable ManagedObject managedObject) {
         return identify(managedObject)
-                .map(RootOid::enString);
+                .map(Oid::enString);
     }
     
     public static String stringifyElseFail(@Nullable ManagedObject managedObject) {
@@ -498,7 +498,7 @@ public final class ManagedObjects {
             }
             
             val objectIdentifier = identify(managedObject)
-                    .map(RootOid::getIdentifier);
+                    .map(Oid::getIdentifier);
                     
             if(!objectIdentifier.isPresent()) {
                 return managedObject;
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 abac218..da68964 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
@@ -26,16 +26,16 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 public class OidMarshallerTest_marshall {
 
-    private Oid_Marshaller oidMarshaller;
+    private _OidMarshaller oidMarshaller;
 
     @Before
     public void setUp() throws Exception {
-        oidMarshaller = Oid_Marshaller.INSTANCE;
+        oidMarshaller = _OidMarshaller.INSTANCE;
     }
 
     @Test
     public void rootOid() {
-        final String marshal = oidMarshaller.marshal(Oid.Factory.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 344dcd3..752a9cd 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
@@ -24,23 +24,25 @@ import org.junit.Test;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
+import lombok.val;
+
 public class OidMarshallerTest_roundtripping {
 
     @Test
     public void rootOid() {
-        RootOid oid = Oid.Factory.root(LogicalTypeTestFactory.cus(), "123");
+        val oid = Oid.root(LogicalTypeTestFactory.cus(), "123");
 
         final String enString = oid.enString();
-        final RootOid deString = RootOid.deString(enString);
+        final Oid deString = Oid.deString(enString);
         assertThat(deString, is(oid));
     }
     
     @Test
     public void rootOid_withLegacyVersionIgnored() {
-        RootOid oid = Oid.Factory.root(LogicalTypeTestFactory.cus(), "123");
+        val oid = Oid.root(LogicalTypeTestFactory.cus(), "123");
 
         final String enString = oid.enString();
-        final RootOid deString = RootOid.deString(enString + "^" + 90807L);
+        final Oid deString = Oid.deString(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 e676f86..c17fb76 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
@@ -55,18 +55,18 @@ import static org.hamcrest.MatcherAssert.assertThat;
  */
 public class OidMarshallerTest_unmarshal {
 
-    private Oid_Marshaller oidMarshaller;
+    private _OidMarshaller oidMarshaller;
 
     @Before
     public void setUp() throws Exception {
-        oidMarshaller = Oid_Marshaller.INSTANCE;
+        oidMarshaller = _OidMarshaller.INSTANCE;
     }
 
     @Test
     public void persistentRoot() {
         final String oidStr = "CUS:123";
 
-        final RootOid rootOid = oidMarshaller.unmarshal(oidStr, RootOid.class);
+        final Oid rootOid = oidMarshaller.unmarshal(oidStr, Oid.class);
         assertThat(rootOid.getLogicalTypeName(), is("CUS"));
         assertThat(rootOid.getIdentifier(), is("123"));
 
@@ -78,7 +78,7 @@ public class OidMarshallerTest_unmarshal {
     public void persistentRootWithFullyQualifiedSpecId() {
         final String oidStr = "com.planchase.ClassName:8";
 
-        final RootOid rootOid = oidMarshaller.unmarshal(oidStr, RootOid.class);
+        final Oid rootOid = oidMarshaller.unmarshal(oidStr, Oid.class);
         assertThat(rootOid.getLogicalTypeName(), is("com.planchase.ClassName"));
         assertThat(rootOid.getIdentifier(), is("8"));
 
@@ -99,7 +99,7 @@ public class OidMarshallerTest_unmarshal {
     public void transientRoot() {
         final String oidStr = "!CUS:123";
 
-        final RootOid rootOid = oidMarshaller.unmarshal(oidStr, RootOid.class);
+        final Oid rootOid = oidMarshaller.unmarshal(oidStr, Oid.class);
         assertThat(rootOid.getLogicalTypeName(), is("CUS"));
         assertThat(rootOid.getIdentifier(), is("123"));
 
@@ -110,7 +110,7 @@ public class OidMarshallerTest_unmarshal {
 
     @Test(expected=IllegalArgumentException.class)
     public void badPattern() {
-        oidMarshaller.unmarshal("xxx", RootOid.class);
+        oidMarshaller.unmarshal("xxx", Oid.class);
     }
 
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidVersionTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidVersionTest.java
index eff870b..19ead98 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidVersionTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/OidVersionTest.java
@@ -32,28 +32,28 @@ public class OidVersionTest  {
     private LogicalType cus = LogicalTypeTestFactory.cus();
     private LogicalType ord = LogicalTypeTestFactory.ord();
 
-    private RootOid oid1, oid2;
+    private Oid oid1, oid2;
 
     @Test
     public void whenEquivalent() throws Exception {
-        oid1 = Oid.Factory.root(cus, "123");
-        oid2 = Oid.Factory.root(cus, "123");
+        oid1 = Oid.root(cus, "123");
+        oid2 = Oid.root(cus, "123");
 
         assertThat(oid1, is(equalTo(oid2)));
     }
 
     @Test
     public void whenNotEquivalentById() throws Exception {
-        oid1 = Oid.Factory.root(cus, "123");
-        oid2 = Oid.Factory.root(cus, "124");
+        oid1 = Oid.root(cus, "123");
+        oid2 = Oid.root(cus, "124");
 
         assertThat(oid1, is(not(equalTo(oid2))));
     }
 
     @Test
     public void whenNotEquivalentByObjectSpecId() throws Exception {
-        oid1 = Oid.Factory.root(cus, "123");
-        oid2 = Oid.Factory.root(ord, "123");
+        oid1 = Oid.root(cus, "123");
+        oid2 = Oid.root(ord, "123");
 
         assertThat(oid1, is(not(equalTo(oid2))));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidDefaultTest_valueSemantics_whenPersistent.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidDefaultTest_valueSemantics_whenPersistent.java
index b8a2d09..1fbcf62 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidDefaultTest_valueSemantics_whenPersistent.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidDefaultTest_valueSemantics_whenPersistent.java
@@ -24,22 +24,22 @@ import java.util.List;
 import org.apache.isis.core.internaltestsupport.contract.ValueTypeContractTestAbstract;
 
 public class RootOidDefaultTest_valueSemantics_whenPersistent 
-extends ValueTypeContractTestAbstract<RootOid> {
+extends ValueTypeContractTestAbstract<Oid> {
 
     @Override
-    protected List<RootOid> getObjectsWithSameValue() {
+    protected List<Oid> getObjectsWithSameValue() {
         return Arrays.asList(
-                Oid.Factory.root(LogicalTypeTestFactory.cus(), "123"),
-                Oid.Factory.root(LogicalTypeTestFactory.cus(), "123"),
-                Oid.Factory.root(LogicalTypeTestFactory.cus(), "123"));
+                Oid.root(LogicalTypeTestFactory.cus(), "123"),
+                Oid.root(LogicalTypeTestFactory.cus(), "123"),
+                Oid.root(LogicalTypeTestFactory.cus(), "123"));
     }
 
     @Override
-    protected List<RootOid> getObjectsWithDifferentValue() {
+    protected List<Oid> getObjectsWithDifferentValue() {
         return Arrays.asList(
                 //Oid.Factory.of(ObjectSpecId.of("CUS"), "123"),
-                Oid.Factory.root(LogicalTypeTestFactory.cus(), "124"),
-                Oid.Factory.root(LogicalTypeTestFactory.cux(), "123"));
+                Oid.root(LogicalTypeTestFactory.cus(), "124"),
+                Oid.root(LogicalTypeTestFactory.cux(), "123"));
     }
 
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidTest_create.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidTest_create.java
index 6c5ac96..5d63e5a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidTest_create.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/oid/RootOidTest_create.java
@@ -30,7 +30,7 @@ public class RootOidTest_create {
     @Test
     public void create() throws Exception {
         val logicalType = LogicalTypeTestFactory.cus();
-        RootOid oid = Oid.Factory.root(logicalType, "123");
+        Oid oid = Oid.root(logicalType, "123");
         assertThat(oid.getLogicalTypeName(), is(logicalType.getLogicalTypeName()));
         assertThat(oid.getIdentifier(), is("123"));
     }
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
index 32065c8..c9c14d8 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
@@ -29,7 +29,7 @@ import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.core.config.viewer.wicket.WebAppContextPath;
 import org.apache.isis.core.interaction.session.InteractionTracker;
 import org.apache.isis.core.interaction.session.MessageBroker;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
@@ -108,7 +108,7 @@ public class IsisAppCommonContext implements HasMetaModelContext {
         return getMementoService().mementoForParameter(adapter);
     }
     
-    public ObjectMemento mementoFor(RootOid rootOid) {
+    public ObjectMemento mementoFor(Oid rootOid) {
         return getMementoService().mementoForRootOid(rootOid);
     }
     
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java
index 4c2bd75..7bfc2b5 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java
@@ -19,7 +19,7 @@
 package org.apache.isis.core.runtime.memento;
 
 import org.apache.isis.applib.id.LogicalType;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 
 import lombok.NonNull;
@@ -29,7 +29,7 @@ import lombok.NonNull;
  */
 public interface ObjectMementoService {
 
-    ObjectMemento mementoForRootOid(RootOid rootOid);
+    ObjectMemento mementoForRootOid(Oid rootOid);
 
     ObjectMemento mementoForObject(ManagedObject adapter);
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
index b059f28..f938cca 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
@@ -54,7 +54,6 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.interaction.session.InteractionFactory;
 import org.apache.isis.core.interaction.session.InteractionTracker;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
 import org.apache.isis.core.metamodel.interactions.InteractionHead;
@@ -377,16 +376,16 @@ public class CommandExecutorServiceDefault implements CommandExecutorService {
             return ManagedObject.unspecified();
         }
         if(pojo instanceof OidDto) {
-            return adapterFor(Oid.Factory.ofDto((OidDto)pojo));
+            return adapterFor(Oid.forDto((OidDto)pojo));
         }
-        if(pojo instanceof RootOid) {
-            return adapterFor((RootOid) pojo);
+        if(pojo instanceof Oid) {
+            return adapterFor((Oid) pojo);
         }
         // value type
         return ManagedObject.lazy(getSpecificationLoader(), pojo);
     }
 
-    private ManagedObject adapterFor(final RootOid oid) {
+    private ManagedObject adapterFor(final Oid oid) {
         val spec = specificationLoader.specForLogicalTypeName(oid.getLogicalTypeName()).orElse(null);
         val loadRequest = ObjectLoader.Request.of(spec, oid.getIdentifier());
         return spec.getMetaModelContext().getObjectManager().loadObject(loadRequest);
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java
index 3049125..1dd9b8d 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java
@@ -40,7 +40,7 @@ import org.apache.isis.applib.util.schema.InteractionDtoUtils;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.assertions._Assert;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.execution.InteractionInternal;
 import org.apache.isis.core.metamodel.services.command.CommandDtoFactory;
 import org.apache.isis.core.metamodel.services.ixn.InteractionDtoFactory;
@@ -88,7 +88,7 @@ public class InteractionDtoFactoryDefault implements InteractionDtoFactory {
         final int nextEventSequence = ((InteractionInternal) interaction).getThenIncrementExecutionSequence();
 
         final Bookmark targetBookmark = targetAdapter.getRootOid()
-                .map(RootOid::asBookmark)
+                .map(Oid::asBookmark)
                 .orElseThrow(()->_Exceptions.noSuchElement("Object provides no Bookmark: %s", targetAdapter));
 
         final String actionId = objectAction.getIdentifier().getMemberNameAndParameterClassNamesIdentityString();
@@ -132,7 +132,7 @@ public class InteractionDtoFactoryDefault implements InteractionDtoFactory {
         final int nextEventSequence = ((InteractionInternal) interaction).getThenIncrementExecutionSequence();
         
         final Bookmark targetBookmark = targetAdapter.getRootOid()
-                .map(RootOid::asBookmark)
+                .map(Oid::asBookmark)
                 .orElseThrow(()->_Exceptions.noSuchElement("Object provides no Bookmark: %s", targetAdapter));
 
         final String propertyId = property.getIdentifier().getMemberName();
diff --git a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java
index 4a5e78c..f60677f 100644
--- a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java
+++ b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java
@@ -30,7 +30,6 @@ import org.joda.time.Interval;
 
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.core.metamodel.spec.ManagedObjects;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
@@ -104,7 +103,7 @@ public abstract class EventProviderAbstract implements EventProvider {
             val dereferencedManagedObject = 
                     ManagedObject.lazy(commonContext.getSpecificationLoader(), dereferencedObject);
 
-            final RootOid rootOid = ManagedObjects.identify(dereferencedManagedObject).orElse(null);
+            val rootOid = ManagedObjects.identify(dereferencedManagedObject).orElse(null);
             if(rootOid!=null) {
 
                 final String oidStr = rootOid.enString();
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 b36b063..bda6422 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
@@ -20,7 +20,7 @@ package org.apache.isis.extensions.fullcalendar.ui.component;
 
 import org.apache.wicket.RestartResponseException;
 
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.core.metamodel.objectmanager.load.ObjectLoader;
@@ -61,7 +61,7 @@ final class FullCalendarWithEventHandling extends FullCalendar {
             final CalendarResponse response) {
 
         final String oidStr = (String) event.getEvent().getPayload();
-        final RootOid oid = RootOid.deString(oidStr);
+        final Oid oid = Oid.deString(oidStr);
 
         val commonContext = getCommonContext();
                 
diff --git a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/collections/TableViewFx.java b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/collections/TableViewFx.java
index 9152f16..a6f22ec 100644
--- a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/collections/TableViewFx.java
+++ b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/collections/TableViewFx.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.layout.grid.Grid;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.collections._Multimaps;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
 import org.apache.isis.core.metamodel.interactions.managed.ManagedCollection;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -133,7 +133,7 @@ public class TableViewFx extends VBox {
 
         // rather prepare all table cells into a multi-map eagerly, 
         // than having to spawn new transactions/interactions for each table cell when rendered lazily 
-        val table = _Multimaps.<RootOid, String, String>newMapMultimap();
+        val table = _Multimaps.<Oid, String, String>newMapMultimap();
 
         _NullSafe.stream(objects)
         .forEach(object->{
diff --git a/incubator/viewers/vaadin/ui/src/main/java/org/apache/isis/incubator/viewer/vaadin/ui/components/collection/TableViewVaa.java b/incubator/viewers/vaadin/ui/src/main/java/org/apache/isis/incubator/viewer/vaadin/ui/components/collection/TableViewVaa.java
index b086a31..972d14e 100644
--- a/incubator/viewers/vaadin/ui/src/main/java/org/apache/isis/incubator/viewer/vaadin/ui/components/collection/TableViewVaa.java
+++ b/incubator/viewers/vaadin/ui/src/main/java/org/apache/isis/incubator/viewer/vaadin/ui/components/collection/TableViewVaa.java
@@ -27,7 +27,7 @@ import com.vaadin.flow.component.orderedlayout.VerticalLayout;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.collections._Multimaps;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
 import org.apache.isis.core.metamodel.interactions.managed.ManagedCollection;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -133,7 +133,7 @@ public class TableViewVaa extends VerticalLayout {
         
         // rather prepare all table cells into a multi-map eagerly, 
         // than having to spawn new transactions/interactions for each table cell when rendered lazily 
-        val table = _Multimaps.<RootOid, String, String>newMapMultimap();
+        val table = _Multimaps.<Oid, String, String>newMapMultimap();
 
         objects.stream()
         .forEach(object->{
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
index 743d77b..88e8b21 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
@@ -126,7 +126,7 @@ implements EntityFacet {
 
         _Assert.assertTrue(entitySpec.isEntity());
 
-        val rootOid = Oid.Factory.root(entitySpec.getLogicalType(), identifier);
+        val rootOid = Oid.root(entitySpec.getLogicalType(), identifier);
 
         log.debug("fetchEntity; rootOid={}", rootOid);
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/oid/JdoObjectIdSerializer.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/oid/JdoObjectIdSerializer.java
index 162ccb2..4c2b98b 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/oid/JdoObjectIdSerializer.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/oid/JdoObjectIdSerializer.java
@@ -42,7 +42,7 @@ import org.apache.isis.commons.handler.ChainOfResponsibility;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.persistence.jdo.datanucleus.oid._JdoObjectIdDecoder.JdoObjectIdDecodingRequest;
 
@@ -82,7 +82,7 @@ public final class JdoObjectIdSerializer {
             jdoOid.getClass().getName() + SEPARATOR + jdoOid.toString());
     }
     
-    public static Object toJdoObjectId(ObjectSpecification spec, RootOid oid) {
+    public static Object toJdoObjectId(ObjectSpecification spec, Oid oid) {
         
         val request = JdoObjectIdDecodingRequest.parse(spec, oid.getIdentifier());
         
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 c255b24..e0d7219 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
@@ -27,7 +27,7 @@ import javax.ws.rs.core.MediaType;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -108,7 +108,7 @@ public interface IResourceContext {
 
     default Optional<ManagedObject> getObjectAdapterForOidFromHref(String oidFromHref) {
         String oidStrUnencoded = UrlDecoderUtils.urlDecode(oidFromHref);
-        val rootOid = RootOid.deString(oidStrUnencoded);
+        val rootOid = Oid.deString(oidStrUnencoded);
         return rootOid.loadObject(getMetaModelContext());
     }
 
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 c3d28af..b1e8333 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
@@ -36,7 +36,6 @@ import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
 import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.core.interaction.session.InteractionTracker;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -127,7 +126,7 @@ 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 rootOid = RootOid.deString(oidStrUnencoded);
+        val rootOid = Oid.deString(oidStrUnencoded);
         
         return rootOid
                 .loadObject(metaModelContext)
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 7dc751c..4f313fa 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
@@ -22,7 +22,6 @@ package org.apache.isis.viewer.wicket.model.models;
 import java.io.Serializable;
 import java.util.List;
 import java.util.Objects;
-import java.util.stream.Stream;
 
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
@@ -30,7 +29,6 @@ import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.base._Refs;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.spec.ManagedObjects;
 import org.apache.isis.core.metamodel.spec.feature.MixedIn;
@@ -47,7 +45,7 @@ public class BookmarkTreeNode implements Serializable {
     private final List<BookmarkTreeNode> children = _Lists.newArrayList();
     private final int depth;
 
-    @Getter private final RootOid oidNoVer; //TODO rename field, versions have been removed
+    @Getter private final Oid oidNoVer; //TODO rename field, versions have been removed
     @Getter private final String oidNoVerStr; //TODO rename field, versions have been removed
     private final PageType pageType;
 
@@ -63,9 +61,9 @@ public class BookmarkTreeNode implements Serializable {
             final BookmarkableModel bookmarkableModel,
             final int depth) {
         pageParameters = bookmarkableModel.getPageParametersWithoutUiHints();
-        RootOid oid = oidFrom(pageParameters);
+        Oid oid = oidFrom(pageParameters);
         this.oidNoVerStr = Oid.marshaller().marshal(oid);
-        this.oidNoVer = Oid.unmarshaller().unmarshal(oidNoVerStr, RootOid.class);
+        this.oidNoVer = Oid.unmarshaller().unmarshal(oidNoVerStr, Oid.class);
 
         // replace oid with the noVer equivalent.
         PageParameterNames.OBJECT_OID.removeFrom(pageParameters);
@@ -246,20 +244,20 @@ public class BookmarkTreeNode implements Serializable {
 
     // //////////////////////////////////////
 
-    public static RootOid oidFrom(final PageParameters pageParameters) {
+    public static Oid oidFrom(final PageParameters pageParameters) {
         String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
         if(oidStr == null) {
             return null;
         }
         try {
-            return Oid.unmarshaller().unmarshal(oidStr, RootOid.class);
+            return Oid.unmarshaller().unmarshal(oidStr, Oid.class);
         } catch(Exception ex) {
             return null;
         }
     }
 
     public static String oidStrFrom(BookmarkableModel candidateBookmarkableModel) {
-        final RootOid oid = oidFrom(candidateBookmarkableModel.getPageParametersWithoutUiHints());
+        final Oid oid = oidFrom(candidateBookmarkableModel.getPageParametersWithoutUiHints());
         return oid != null? Oid.marshaller().marshal(oid): null;
     }
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java
index daa1d7a..8d9e76c 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java
@@ -21,7 +21,7 @@ package org.apache.isis.viewer.wicket.model.models;
 
 import java.util.Comparator;
 
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
 final class BookmarkTreeNodeComparator implements Comparator<BookmarkTreeNode> {
@@ -43,8 +43,8 @@ final class BookmarkTreeNodeComparator implements Comparator<BookmarkTreeNode> {
             return pageTypeComparison;
         }
 
-        final RootOid oid1 = o1.getOidNoVer();
-        final RootOid oid2 = o2.getOidNoVer();
+        final Oid oid1 = o1.getOidNoVer();
+        final Oid oid2 = o2.getOidNoVer();
 
         // sort by entity type
         final String className1 = classNameOf(oid1);
@@ -61,7 +61,7 @@ final class BookmarkTreeNodeComparator implements Comparator<BookmarkTreeNode> {
         return title1.compareTo(title2);
     }
 
-    private String classNameOf(RootOid oid) {
+    private String classNameOf(Oid oid) {
         return specificationLoader.specForLogicalTypeNameElseFail(oid.getLogicalTypeName())
                 .getIdentifier().getClassName();
     }
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
index 041c187..fa2b896 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
@@ -27,12 +27,10 @@ import java.util.Objects;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
 
 import lombok.val;
 
-
 public class BookmarkedPagesModel extends ModelAbstract<List<BookmarkTreeNode>> {
 
     private static final long serialVersionUID = 1L;
@@ -51,7 +49,7 @@ public class BookmarkedPagesModel extends ModelAbstract<List<BookmarkTreeNode>>
         cleanUpGarbage(rootNodes);
 
         final PageParameters candidatePP = bookmarkableModel.getPageParametersWithoutUiHints();
-        RootOid oid = BookmarkTreeNode.oidFrom(candidatePP);
+        val oid = BookmarkTreeNode.oidFrom(candidatePP);
         if(oid == null) {
             // ignore
             return;
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 7dc0ef9..ad2f916 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
@@ -30,7 +30,6 @@ import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.isis.applib.layout.component.CollectionLayoutData;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -149,8 +148,8 @@ implements HasRenderingHints, ObjectAdapterModel, UiHintContainer, ObjectUiModel
         return PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
     }
 
-    private static RootOid rootOidFrom(final PageParameters pageParameters) {
-        return Oid.unmarshaller().unmarshal(oidStr(pageParameters), RootOid.class);
+    private static Oid rootOidFrom(final PageParameters pageParameters) {
+        return Oid.unmarshaller().unmarshal(oidStr(pageParameters), Oid.class);
     }
 
 
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 edef5c0..a15bbe9 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
@@ -30,7 +30,6 @@ import org.apache.isis.applib.Identifier;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.primitives._Ints;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.ActionType;
@@ -199,9 +198,9 @@ public class PageParameterUtil {
         return EntityModel.ofMemento(commonContext, memento);
     }
 
-    private static RootOid oidFor(final PageParameters pageParameters) {
+    private static Oid oidFor(final PageParameters pageParameters) {
         final String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
-        return Oid.unmarshaller().unmarshal(oidStr, RootOid.class);
+        return Oid.unmarshaller().unmarshal(oidStr, Oid.class);
     }
 
     private static final String NULL_ARG = "$nullArg$";
@@ -233,7 +232,7 @@ public class PageParameterUtil {
         }
 
         try {
-            val rootOid = RootOid.deStringEncoded(encoded);
+            val rootOid = Oid.deStringEncoded(encoded);
             return rootOid.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/bookmarkedpages/BookmarkedPagesPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
index 6958225..cdedf8d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
@@ -45,7 +45,6 @@ import org.apache.wicket.request.resource.ResourceReference;
 import org.apache.wicket.util.string.Strings;
 
 import org.apache.isis.applib.exceptions.unrecoverable.ObjectNotFoundException;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.wicket.model.models.BookmarkTreeNode;
 import org.apache.isis.viewer.wicket.model.models.BookmarkedPagesModel;
@@ -55,6 +54,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
 import org.apache.isis.viewer.wicket.ui.util.Links;
 
+import lombok.val;
+
 public class BookmarkedPagesPanel 
 extends PanelAbstract<List<BookmarkTreeNode>, BookmarkedPagesModel> {
 
@@ -164,7 +165,7 @@ extends PanelAbstract<List<BookmarkTreeNode>, BookmarkedPagesModel> {
                     final AbstractLink link = Links.newBookmarkablePageLink(ID_BOOKMARKED_PAGE_LINK, pageParameters, pageClass);
 
                     ObjectSpecification objectSpec = null;
-                    RootOid oid = node.getOidNoVer();
+                    val oid = node.getOidNoVer();
                     if(oid != null) {
                         objectSpec = getSpecificationLoader().specForLogicalTypeName(oid.getLogicalTypeName())
                                 .orElse(null);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
index 794d916..4a22ef1 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
@@ -46,7 +46,7 @@ import org.apache.isis.applib.graph.tree.TreePath;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.functions._Functions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.core.metamodel.spec.ManagedObjects;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
@@ -393,7 +393,7 @@ class IsisToWicketTreeAdapter {
     private static class LoadableDetachableTreeModel extends LoadableDetachableModel<TreeModel> {
         private static final long serialVersionUID = 1L;
 
-        private final RootOid id;
+        private final Oid id;
         private final TreePath treePath;
         private final int hashCode;
 
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 01c9fe5..26b16fc 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
@@ -29,9 +29,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.Oid.Factory;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.viewer.wicket.model.mementos.PageParameterNames;
 import org.apache.isis.viewer.wicket.model.models.EntityModel;
 
@@ -104,7 +102,7 @@ public class BreadcrumbModel implements Serializable {
             return null;
         }
         try {
-            final RootOid unmarshal = Oid.unmarshaller().unmarshal(oidStr, RootOid.class);
+            final Oid unmarshal = Oid.unmarshaller().unmarshal(oidStr, Oid.class);
             return unmarshal.enString();
         } catch(Exception ex) {
             return null;
@@ -170,7 +168,7 @@ public class BreadcrumbModel implements Serializable {
     }
 
     protected EntityModel toEntityModel(final Bookmark bookmark) {
-        val rootOid = Factory.ofBookmark(bookmark);
+        val rootOid = Oid.forBookmark(bookmark);
         val objectAdapterMemento = commonContext.mementoFor(rootOid);
         return EntityModel.ofMemento(commonContext, objectAdapterMemento);
     }
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 09f18fe..21e90aa 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
@@ -20,7 +20,6 @@ package org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs;
 
 import java.util.Collection;
 import java.util.List;
-import java.util.Optional;
 import java.util.function.Predicate;
 
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -34,9 +33,7 @@ import org.wicketstuff.select2.Select2Choice;
 import org.wicketstuff.select2.Settings;
 
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.core.interaction.session.MessageBroker;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
 import org.apache.isis.viewer.wicket.model.common.CommonContextUtils;
 import org.apache.isis.viewer.wicket.model.mementos.PageParameterNames;
@@ -83,7 +80,7 @@ extends PanelAbstract<Void, IModel<Void>> {
                 try {
                     final PageParameters pageParameters = choice.getPageParametersWithoutUiHints();
                     final String oidStr = PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
-                    final RootOid result = RootOid.deString(oidStr);
+                    final Oid result = Oid.deString(oidStr);
                     return Oid.marshaller().marshal(result);
                 } catch (Exception ex) {
                     breadcrumbModel.remove(choice);
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 a01dff8..6195868 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
@@ -31,7 +31,7 @@ import org.wicketstuff.select2.ChoiceProvider;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.core.metamodel.spec.ManagedObjects;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
@@ -178,7 +178,7 @@ extends ChoiceProvider<ObjectMemento> {
         if(NULL_PLACEHOLDER.equals(id)) {
             return null;
         }
-        val rootOid = RootOid.deString(id);
+        val rootOid = Oid.deString(id);
         return getCommonContext().mementoFor(rootOid);
     }
 
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 dc1e2f4..e8c4054 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
@@ -26,7 +26,6 @@ import javax.inject.Inject;
 import org.apache.wicket.util.convert.IConverter;
 
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.core.metamodel.objectmanager.load.ObjectLoader;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -50,7 +49,7 @@ public class ConverterForObjectAdapter implements IConverter<ManagedObject> {
      */
     @Override
     public ManagedObject convertToObject(final String value, final Locale locale) {
-        val rootOid = RootOid.deStringEncoded(value);
+        val rootOid = Oid.deStringEncoded(value);
         val spec = objectManager.getMetaModelContext()
                 .getSpecificationLoader()
                 .specForLogicalTypeNameElseFail(rootOid.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 a03a0ed..b956fb7 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
@@ -25,7 +25,6 @@ import org.apache.wicket.util.convert.IConverter;
 
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.spec.ManagedObjects;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
 import org.apache.isis.core.runtime.memento.ObjectMemento;
@@ -54,13 +53,13 @@ public class ConverterForObjectAdapterMemento implements IConverter<ObjectMement
         if (_Strings.isNullOrEmpty(value)) {
             return null;
         }
-        val rootOid = RootOid.deStringEncoded(value);
+        val rootOid = Oid.deStringEncoded(value);
         return commonContext.mementoFor(rootOid);
     }
 
     /**
      * Converts {@link ObjectMemento} to string representation of
-     * {@link RootOid}.
+     * {@link Oid}.
      */
     @Override
     public String convertToString(final ObjectMemento memento, final Locale locale) {
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
index 7943ac3..3cdf78b 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
@@ -35,7 +35,7 @@ import org.apache.isis.applib.id.LogicalType;
 import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -68,7 +68,7 @@ public class ObjectMementoServiceWicket implements ObjectMementoService {
     @Inject private ObjectManager objectManager;
 
     @Override
-    public ObjectMemento mementoForRootOid(@NonNull RootOid rootOid) {
+    public ObjectMemento mementoForRootOid(@NonNull Oid rootOid) {
 //        _Probe.errOut("mementoForRootOid %s", rootOid);
         val mementoAdapter = ObjectMementoWkt.createPersistent(rootOid, specificationLoader);
         return ObjectMementoAdapter.of(mementoAdapter);
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 49d268f..810acf7 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
@@ -36,7 +36,6 @@ import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -72,7 +71,7 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
      * Factory method
      */
     static ObjectMementoWkt createPersistent(
-            RootOid rootOid,
+            Oid rootOid,
             SpecificationLoader specificationLoader) {
 
         return new ObjectMementoWkt(rootOid, specificationLoader);
@@ -231,7 +230,7 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
                             "need an id to lookup an object, got logical-type %s", memento.logicalType);
                 }
 
-                RootOid rootOid = Oid.unmarshaller().unmarshal(memento.persistentOidStr, RootOid.class);
+                Oid rootOid = Oid.unmarshaller().unmarshal(memento.persistentOidStr, Oid.class);
                 try {
 
                     log.debug("lookup by rootOid [{}]", rootOid);
@@ -402,7 +401,7 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
         this.logicalType = logicalType;
     }
 
-    private ObjectMementoWkt(RootOid rootOid, SpecificationLoader specificationLoader) {
+    private ObjectMementoWkt(Oid rootOid, SpecificationLoader specificationLoader) {
 
         // -- // TODO[2112] do we ever need to create ENCODEABLE here?
         val logicalTypeName = rootOid.getLogicalTypeName();

[isis] 02/02: ISIS-2569: rename 'rootOid' -> 'oid'

Posted by ah...@apache.org.
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

commit 25c2fa2a44a8a5176b818c60919e679a781622a7
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Apr 15 17:50:03 2021 +0200

    ISIS-2569: rename 'rootOid' -> 'oid'
---
 .../isis/core/metamodel/adapter/oid/Oid.java       |  2 +-
 .../isis/core/metamodel/spec/ManagedObject.java    | 22 ++++++++--------
 .../isis/core/metamodel/spec/ManagedObjects.java   |  4 +--
 .../adapter/oid/OidMarshallerTest_marshall.java    |  4 +--
 .../oid/OidMarshallerTest_roundtripping.java       |  4 +--
 .../adapter/oid/OidMarshallerTest_unmarshal.java   | 30 +++++++++++-----------
 .../core/runtime/context/IsisAppCommonContext.java |  4 +--
 .../core/runtime/memento/ObjectMementoService.java |  2 +-
 .../executor/MemberExecutorServiceDefault.java     |  4 +--
 .../DelegatingInvocationHandlerDefault.java        |  4 +--
 .../ui/component/EventProviderAbstract.java        |  6 ++---
 .../metamodel/facets/entity/JdoEntityFacet.java    | 12 ++++-----
 .../restfulobjects/rendering/IResourceContext.java |  4 +--
 .../domainobjects/DomainObjectReprRenderer.java    | 12 ++++-----
 .../viewer/resources/ResourceAbstract.java         |  4 +--
 .../viewer/wicket/model/models/EntityModel.java    |  4 +--
 .../wicket/model/models/PageParameterUtil.java     |  8 +++---
 .../components/tree/IsisToWicketTreeAdapter.java   |  4 +--
 .../widgets/breadcrumbs/BreadcrumbModel.java       | 14 +++++-----
 .../ObjectAdapterMementoProviderAbstract.java      |  4 +--
 .../integration/ConverterForObjectAdapter.java     |  6 ++---
 .../ConverterForObjectAdapterMemento.java          |  4 +--
 .../mementos/ObjectMementoServiceWicket.java       |  6 ++---
 .../viewer/services/mementos/ObjectMementoWkt.java | 28 ++++++++++----------
 24 files changed, 98 insertions(+), 98 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 919a63d..346f3dc 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
@@ -88,7 +88,7 @@ public interface Oid extends Serializable {
     // -- MARSHALLING
 
     public static interface Marshaller {
-        String marshal(Oid rootOid);
+        String marshal(Oid oid);
         String joinAsOid(String logicalTypeName, String instanceId);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
index afe3e45..4d0f14e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
@@ -137,12 +137,12 @@ public interface ManagedObject {
     }
     
     /**
-     * Optimized for cases, when the pojo's specification and rootOid are already available.
+     * Optimized for cases, when the pojo's specification and oid are already available.
      */
     public static ManagedObject identified(
             @NonNull ObjectSpecification specification, 
             @NonNull Object pojo, 
-            @NonNull Oid rootOid) {
+            @NonNull Oid oid) {
         
         if(!specification.getCorrespondingClass().isAssignableFrom(pojo.getClass())) {
             throw _Exceptions.illegalArgument(
@@ -153,7 +153,7 @@ public interface ManagedObject {
                     specification.getCorrespondingClass(), pojo.getClass(), pojo.toString());
         }
         ManagedObjects.assertPojoNotManaged(pojo);
-        return SimpleManagedObject.identified(specification, pojo, rootOid);
+        return SimpleManagedObject.identified(specification, pojo, oid);
     }
 
     /**
@@ -193,9 +193,9 @@ public interface ManagedObject {
         public static ManagedObject identified(
                 @NonNull  final ObjectSpecification spec, 
                 @Nullable final Object pojo, 
-                @NonNull  final Oid rootOid) {
+                @NonNull  final Oid oid) {
             val managedObject = SimpleManagedObject.of(spec, pojo);
-            managedObject.rootOidLazy.set(Optional.of(rootOid));
+            managedObject.oidLazy.set(Optional.of(oid));
             return managedObject;
         }
         
@@ -204,16 +204,16 @@ public interface ManagedObject {
 
         @Override
         public Optional<Oid> getRootOid() {
-            return rootOidLazy.get();
+            return oidLazy.get();
         }
         
         // -- LAZY ID HANDLING
-        private final _Lazy<Optional<Oid>> rootOidLazy = 
+        private final _Lazy<Optional<Oid>> oidLazy = 
                 _Lazy.threadSafe(()->ManagedObjectInternalUtil.identify(this));
 
         @Override
         public boolean isRootOidMemoized() {
-            return rootOidLazy.isMemoized();
+            return oidLazy.isMemoized();
         }  
         
     }
@@ -229,16 +229,16 @@ public interface ManagedObject {
         
         @Override
         public Optional<Oid> getRootOid() {
-            return rootOidLazy.get();
+            return oidLazy.get();
         }
         
         // -- LAZY ID HANDLING
-        private final _Lazy<Optional<Oid>> rootOidLazy = 
+        private final _Lazy<Optional<Oid>> oidLazy = 
                 _Lazy.threadSafe(()->ManagedObjectInternalUtil.identify(this));
         
         @Override
         public boolean isRootOidMemoized() {
-            return rootOidLazy.isMemoized();
+            return oidLazy.isMemoized();
         }  
 
         private final _Lazy<ObjectSpecification> specification = _Lazy.threadSafe(this::loadSpec);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
index e9c33ff..c95781d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
@@ -168,7 +168,7 @@ public final class ManagedObjects {
             @Nullable ManagedObject managedObject, 
             @NonNull final String separator) {
         return identify(managedObject)
-                .map(rootOid->rootOid.getLogicalTypeName() + separator + rootOid.getIdentifier());
+                .map(oid->oid.getLogicalTypeName() + separator + oid.getIdentifier());
     }
 
     public static String stringifyElseFail(
@@ -485,7 +485,7 @@ public final class ManagedObjects {
                 return managedObject;
             }
             
-            // identification (on JDO) fails, when detached object, where rootOid was not previously memoized
+            // identification (on JDO) fails, when detached object, where oid was not previously memoized
             if(EntityUtil.getPersistenceStandard(managedObject)
                         .map(PersistenceStandard::isJdo)
                         .orElse(false)
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 da68964..0896bc4 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
@@ -34,14 +34,14 @@ public class OidMarshallerTest_marshall {
     }
 
     @Test
-    public void rootOid() {
+    public void oid() {
         final String marshal = oidMarshaller.marshal(Oid.root(LogicalTypeTestFactory.cus(),  "123"));
         assertThat(marshal, equalTo("CUS:123"));
     }
 
 //deprecated    
 //    @Test
-//    public void rootOid_transient() {
+//    public void oid_transient() {
 //        final String marshal = oidMarshaller.marshal(Oid.Factory.transientOf(ObjectSpecId.of("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 752a9cd..547d349 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
@@ -29,7 +29,7 @@ import lombok.val;
 public class OidMarshallerTest_roundtripping {
 
     @Test
-    public void rootOid() {
+    public void oid() {
         val oid = Oid.root(LogicalTypeTestFactory.cus(), "123");
 
         final String enString = oid.enString();
@@ -38,7 +38,7 @@ public class OidMarshallerTest_roundtripping {
     }
     
     @Test
-    public void rootOid_withLegacyVersionIgnored() {
+    public void oid_withLegacyVersionIgnored() {
         val oid = Oid.root(LogicalTypeTestFactory.cus(), "123");
 
         final String enString = oid.enString();
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 c17fb76..cbabf43 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
@@ -66,24 +66,24 @@ public class OidMarshallerTest_unmarshal {
     public void persistentRoot() {
         final String oidStr = "CUS:123";
 
-        final Oid rootOid = oidMarshaller.unmarshal(oidStr, Oid.class);
-        assertThat(rootOid.getLogicalTypeName(), is("CUS"));
-        assertThat(rootOid.getIdentifier(), is("123"));
-
         final Oid oid = oidMarshaller.unmarshal(oidStr, Oid.class);
-        assertThat(oid, equalTo((Oid)rootOid));
+        assertThat(oid.getLogicalTypeName(), is("CUS"));
+        assertThat(oid.getIdentifier(), is("123"));
+
+        final Oid oid2 = oidMarshaller.unmarshal(oidStr, Oid.class);
+        assertThat(oid, equalTo(oid2));
     }
 
     @Test
     public void persistentRootWithFullyQualifiedSpecId() {
         final String oidStr = "com.planchase.ClassName:8";
 
-        final Oid rootOid = oidMarshaller.unmarshal(oidStr, Oid.class);
-        assertThat(rootOid.getLogicalTypeName(), is("com.planchase.ClassName"));
-        assertThat(rootOid.getIdentifier(), is("8"));
-
         final Oid oid = oidMarshaller.unmarshal(oidStr, Oid.class);
-        assertThat(oid, equalTo((Oid)rootOid));
+        assertThat(oid.getLogicalTypeName(), is("com.planchase.ClassName"));
+        assertThat(oid.getIdentifier(), is("8"));
+
+        final Oid oid2 = oidMarshaller.unmarshal(oidStr, Oid.class);
+        assertThat(oid, equalTo(oid2));
     }
 
 // we simply ignore this since 2.0.0    
@@ -99,12 +99,12 @@ public class OidMarshallerTest_unmarshal {
     public void transientRoot() {
         final String oidStr = "!CUS:123";
 
-        final Oid rootOid = oidMarshaller.unmarshal(oidStr, Oid.class);
-        assertThat(rootOid.getLogicalTypeName(), is("CUS"));
-        assertThat(rootOid.getIdentifier(), is("123"));
-
         final Oid oid = oidMarshaller.unmarshal(oidStr, Oid.class);
-        assertThat(oid, equalTo((Oid)rootOid));
+        assertThat(oid.getLogicalTypeName(), is("CUS"));
+        assertThat(oid.getIdentifier(), is("123"));
+
+        final Oid oid2 = oidMarshaller.unmarshal(oidStr, Oid.class);
+        assertThat(oid, equalTo(oid2));
     }
 
 
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
index c9c14d8..a91ca53 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
@@ -108,8 +108,8 @@ public class IsisAppCommonContext implements HasMetaModelContext {
         return getMementoService().mementoForParameter(adapter);
     }
     
-    public ObjectMemento mementoFor(Oid rootOid) {
-        return getMementoService().mementoForRootOid(rootOid);
+    public ObjectMemento mementoFor(Oid oid) {
+        return getMementoService().mementoForRootOid(oid);
     }
     
     public ManagedObject reconstructObject(ObjectMemento memento) {
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java
index 7bfc2b5..8e4a6fc 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/ObjectMementoService.java
@@ -29,7 +29,7 @@ import lombok.NonNull;
  */
 public interface ObjectMementoService {
 
-    ObjectMemento mementoForRootOid(Oid rootOid);
+    ObjectMemento mementoForRootOid(Oid oid);
 
     ObjectMemento mementoForObject(ManagedObject adapter);
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
index a4f6fb2..4634fe3 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
@@ -266,8 +266,8 @@ implements MemberExecutorService {
             getTransactionService().flushTransaction();
         }
         if(entityState.isAttached()) {
-            resultAdapter.getRootOid().ifPresent(rootOid->{
-                val bookmark = rootOid.asBookmark();
+            resultAdapter.getRootOid().ifPresent(oid->{
+                val bookmark = oid.asBookmark();
                 command.updater().setResult(Result.success(bookmark));
             });
         } else {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DelegatingInvocationHandlerDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DelegatingInvocationHandlerDefault.java
index fe2332b..ce71237 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DelegatingInvocationHandlerDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DelegatingInvocationHandlerDefault.java
@@ -89,9 +89,9 @@ public class DelegatingInvocationHandlerDefault<T> implements DelegatingInvocati
             return;
         }
         
-        val rootOid = objectManager.identifyObject(adapter);
+        val oid = objectManager.identifyObject(adapter);
         
-        val loadRequest = ObjectLoader.Request.of(adapter.getSpecification(), rootOid.getIdentifier());
+        val loadRequest = ObjectLoader.Request.of(adapter.getSpecification(), oid.getIdentifier());
         
         objectManager.loadObject(loadRequest);
     }
diff --git a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java
index f60677f..61a3046 100644
--- a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java
+++ b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/EventProviderAbstract.java
@@ -103,10 +103,10 @@ public abstract class EventProviderAbstract implements EventProvider {
             val dereferencedManagedObject = 
                     ManagedObject.lazy(commonContext.getSpecificationLoader(), dereferencedObject);
 
-            val rootOid = ManagedObjects.identify(dereferencedManagedObject).orElse(null);
-            if(rootOid!=null) {
+            val oid = ManagedObjects.identify(dereferencedManagedObject).orElse(null);
+            if(oid!=null) {
 
-                final String oidStr = rootOid.enString();
+                final String oidStr = oid.enString();
                 event.setId(oidStr + "-" + calendarName);
 
                 event.setClassName("fullCalendar2-event-" + calendarName);
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
index 88e8b21..da92d37 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
@@ -126,13 +126,13 @@ implements EntityFacet {
 
         _Assert.assertTrue(entitySpec.isEntity());
 
-        val rootOid = Oid.root(entitySpec.getLogicalType(), identifier);
+        val oid = Oid.root(entitySpec.getLogicalType(), identifier);
 
-        log.debug("fetchEntity; rootOid={}", rootOid);
+        log.debug("fetchEntity; oid={}", oid);
 
         Object entityPojo;
         try {
-            val primaryKey = JdoObjectIdSerializer.toJdoObjectId(entitySpec, rootOid);
+            val primaryKey = JdoObjectIdSerializer.toJdoObjectId(entitySpec, oid);
             val persistenceManager = getPersistenceManager();
             val entityClass = entitySpec.getCorrespondingClass();
             val fetchPlan = persistenceManager.getFetchPlan();
@@ -144,7 +144,7 @@ implements EntityFacet {
             val recognition = exceptionRecognizerService.recognize(e);
             if(recognition.isPresent()) {
                 if(recognition.get().getCategory() == Category.NOT_FOUND) {
-                    throw new ObjectNotFoundException(""+rootOid, e);
+                    throw new ObjectNotFoundException(""+oid, e);
                 }
             }
 
@@ -152,13 +152,13 @@ implements EntityFacet {
         }
 
         if (entityPojo == null) {
-            throw new ObjectNotFoundException(""+rootOid);
+            throw new ObjectNotFoundException(""+oid);
         }
 
         val actualEntitySpec = getSpecificationLoader().specForTypeElseFail(entityPojo.getClass());
         getServiceInjector().injectServicesInto(entityPojo); // might be redundant
         //TODO integrate with entity change tracking
-        return ManagedObject.identified(actualEntitySpec, entityPojo, rootOid);
+        return ManagedObject.identified(actualEntitySpec, entityPojo, oid);
     }
 
     @Override
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 e0d7219..1a84993 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,8 +108,8 @@ public interface IResourceContext {
 
     default Optional<ManagedObject> getObjectAdapterForOidFromHref(String oidFromHref) {
         String oidStrUnencoded = UrlDecoderUtils.urlDecode(oidFromHref);
-        val rootOid = Oid.deString(oidStrUnencoded);
-        return rootOid.loadObject(getMetaModelContext());
+        val oid = Oid.deString(oidStrUnencoded);
+        return oid.loadObject(getMetaModelContext());
     }
 
 }
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
index fe5d2d1..92b9e34 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
@@ -170,15 +170,15 @@ public class DomainObjectReprRenderer extends ReprRendererAbstract<DomainObjectR
 
         if (!(mode.isArgs())) {
 
-            val rootOidIfAny = objectAdapter.getRootOid();
+            val oidIfAny = objectAdapter.getRootOid();
             
             // self, extensions.oid
             if (ManagedObjects.isIdentifiable(objectAdapter)) {
                 if (includesSelf) {
                     addLinkToSelf();
                 }
-                rootOidIfAny.ifPresent(rootOid->{
-                    val oidStr = rootOid.enString();
+                oidIfAny.ifPresent(oid->{
+                    val oidStr = oid.enString();
                     getExtensions().mapPut("oid", oidStr);
                 });
             }
@@ -191,11 +191,11 @@ public class DomainObjectReprRenderer extends ReprRendererAbstract<DomainObjectR
             if (isService) {
                 representation.mapPut("serviceId", ServiceUtil.idOfAdapter(objectAdapter));
             } else {
-                rootOidIfAny.ifPresent(rootOid->{
-                    Optional.ofNullable(rootOid.getLogicalTypeName())
+                oidIfAny.ifPresent(oid->{
+                    Optional.ofNullable(oid.getLogicalTypeName())
                     .ifPresent(domainType->
                         representation.mapPut("domainType", domainType));
-                    representation.mapPut("instanceId", rootOid.getIdentifier());
+                    representation.mapPut("instanceId", oid.getIdentifier());
                 });
             }
         }
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 b1e8333..62e0263 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
@@ -126,9 +126,9 @@ 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 rootOid = Oid.deString(oidStrUnencoded);
+        val oid = Oid.deString(oidStrUnencoded);
         
-        return rootOid
+        return oid
                 .loadObject(metaModelContext)
                 .orElseThrow(()->RestfulObjectsApplicationException
                         .createWithMessage(HttpStatusCode.NOT_FOUND, 
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 ad2f916..63947ef 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
@@ -80,7 +80,7 @@ implements HasRenderingHints, ObjectAdapterModel, UiHintContainer, ObjectUiModel
             IsisAppCommonContext commonContext, 
             PageParameters pageParameters) {
 
-        return ofMemento(commonContext, commonContext.mementoFor(rootOidFrom(pageParameters)));
+        return ofMemento(commonContext, commonContext.mementoFor(oidFrom(pageParameters)));
     }
     
     public static EntityModel ofAdapter(
@@ -148,7 +148,7 @@ implements HasRenderingHints, ObjectAdapterModel, UiHintContainer, ObjectUiModel
         return PageParameterNames.OBJECT_OID.getStringFrom(pageParameters);
     }
 
-    private static Oid rootOidFrom(final PageParameters pageParameters) {
+    private static Oid oidFrom(final PageParameters pageParameters) {
         return Oid.unmarshaller().unmarshal(oidStr(pageParameters), Oid.class);
     }
 
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 a15bbe9..5f5f60a 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
@@ -193,8 +193,8 @@ public class PageParameterUtil {
             IsisAppCommonContext commonContext,
             PageParameters pageParameters) {
 
-        val rootOid = oidFor(pageParameters);
-        val memento = commonContext.mementoFor(rootOid);
+        val oid = oidFor(pageParameters);
+        val memento = commonContext.mementoFor(oid);
         return EntityModel.ofMemento(commonContext, memento);
     }
 
@@ -232,8 +232,8 @@ public class PageParameterUtil {
         }
 
         try {
-            val rootOid = Oid.deStringEncoded(encoded);
-            return rootOid.loadObject(mmc).orElse(null);
+            val oid = Oid.deStringEncoded(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/tree/IsisToWicketTreeAdapter.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
index 4a22ef1..652fb15 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
@@ -414,8 +414,8 @@ class IsisToWicketTreeAdapter {
         @Override
         protected TreeModel load() {
 
-            val rootOid = id;
-            val objAdapter = rootOid.loadObject(commonContext.getMetaModelContext())
+            val oid = id;
+            val objAdapter = oid.loadObject(commonContext.getMetaModelContext())
                     .orElseThrow(()->new NoSuchElementException(
                             String.format("Tree creation: could not recreate TreeModel from Oid: '%s'", id)));
 
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 26b16fc..af59403 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
@@ -148,10 +148,10 @@ public class BreadcrumbModel implements Serializable {
     }
 
 
-    void remove(final String rootOid) {
-        Bookmark existingBookmark = bookmarkByOidStr.get(rootOid);
+    void remove(final String oid) {
+        Bookmark existingBookmark = bookmarkByOidStr.get(oid);
         if(existingBookmark != null) {
-            remove(rootOid, existingBookmark);
+            remove(oid, existingBookmark);
         }
     }
 
@@ -168,13 +168,13 @@ public class BreadcrumbModel implements Serializable {
     }
 
     protected EntityModel toEntityModel(final Bookmark bookmark) {
-        val rootOid = Oid.forBookmark(bookmark);
-        val objectAdapterMemento = commonContext.mementoFor(rootOid);
+        val oid = Oid.forBookmark(bookmark);
+        val objectAdapterMemento = commonContext.mementoFor(oid);
         return EntityModel.ofMemento(commonContext, objectAdapterMemento);
     }
 
-    private void remove(final String rootOid, final Bookmark bookmark) {
-        bookmarkByOidStr.remove(rootOid);
+    private void remove(final String oid, final Bookmark bookmark) {
+        bookmarkByOidStr.remove(oid);
         oidStrByBookmark.remove(bookmark);
         list.remove(bookmark);
     }
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 6195868..f487dbf 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,8 +178,8 @@ extends ChoiceProvider<ObjectMemento> {
         if(NULL_PLACEHOLDER.equals(id)) {
             return null;
         }
-        val rootOid = Oid.deString(id);
-        return getCommonContext().mementoFor(rootOid);
+        val oid = Oid.deString(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 e8c4054..f922234 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,12 +49,12 @@ public class ConverterForObjectAdapter implements IConverter<ManagedObject> {
      */
     @Override
     public ManagedObject convertToObject(final String value, final Locale locale) {
-        val rootOid = Oid.deStringEncoded(value);
+        val oid = Oid.deStringEncoded(value);
         val spec = objectManager.getMetaModelContext()
                 .getSpecificationLoader()
-                .specForLogicalTypeNameElseFail(rootOid.getLogicalTypeName());
+                .specForLogicalTypeNameElseFail(oid.getLogicalTypeName());
         
-        val objectLoadRequest = ObjectLoader.Request.of(spec, rootOid.getIdentifier());
+        val objectLoadRequest = ObjectLoader.Request.of(spec, oid.getIdentifier());
         
         return objectManager.loadObject(objectLoadRequest);
     }
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 b956fb7..b3ec42d 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,8 +53,8 @@ public class ConverterForObjectAdapterMemento implements IConverter<ObjectMement
         if (_Strings.isNullOrEmpty(value)) {
             return null;
         }
-        val rootOid = Oid.deStringEncoded(value);
-        return commonContext.mementoFor(rootOid);
+        val oid = Oid.deStringEncoded(value);
+        return commonContext.mementoFor(oid);
     }
 
     /**
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
index 3cdf78b..3b1e37f 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoServiceWicket.java
@@ -68,9 +68,9 @@ public class ObjectMementoServiceWicket implements ObjectMementoService {
     @Inject private ObjectManager objectManager;
 
     @Override
-    public ObjectMemento mementoForRootOid(@NonNull Oid rootOid) {
-//        _Probe.errOut("mementoForRootOid %s", rootOid);
-        val mementoAdapter = ObjectMementoWkt.createPersistent(rootOid, specificationLoader);
+    public ObjectMemento mementoForRootOid(@NonNull Oid oid) {
+//        _Probe.errOut("mementoForRootOid %s", oid);
+        val mementoAdapter = ObjectMementoWkt.createPersistent(oid, specificationLoader);
         return ObjectMementoAdapter.of(mementoAdapter);
     }
 
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 810acf7..343e010 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
@@ -71,10 +71,10 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
      * Factory method
      */
     static ObjectMementoWkt createPersistent(
-            Oid rootOid,
+            Oid oid,
             SpecificationLoader specificationLoader) {
 
-        return new ObjectMementoWkt(rootOid, specificationLoader);
+        return new ObjectMementoWkt(oid, specificationLoader);
     }
 
     private enum Cardinality {
@@ -230,11 +230,11 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
                             "need an id to lookup an object, got logical-type %s", memento.logicalType);
                 }
 
-                Oid rootOid = Oid.unmarshaller().unmarshal(memento.persistentOidStr, Oid.class);
+                Oid oid = Oid.unmarshaller().unmarshal(memento.persistentOidStr, Oid.class);
                 try {
 
-                    log.debug("lookup by rootOid [{}]", rootOid);
-                    return rootOid.loadObject(mmc).orElse(null);
+                    log.debug("lookup by oid [{}]", oid);
+                    return oid.loadObject(mmc).orElse(null);
 
                 } finally {
                     // possibly out-dated insight ...
@@ -243,7 +243,7 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
                     // we copy this updated oid string into our memento so that, if we retry,
                     // we will succeed second time around
 
-                    memento.persistentOidStr = rootOid.enString();
+                    memento.persistentOidStr = oid.enString();
                 }
             }
 
@@ -401,10 +401,10 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
         this.logicalType = logicalType;
     }
 
-    private ObjectMementoWkt(Oid rootOid, SpecificationLoader specificationLoader) {
+    private ObjectMementoWkt(Oid oid, SpecificationLoader specificationLoader) {
 
         // -- // TODO[2112] do we ever need to create ENCODEABLE here?
-        val logicalTypeName = rootOid.getLogicalTypeName();
+        val logicalTypeName = oid.getLogicalTypeName();
         val spec = specificationLoader.specForLogicalTypeName(logicalTypeName)
                 .orElseThrow(()->_Exceptions.unrecoverableFormatted(
                         "cannot recreate spec from logicalTypeName %s", logicalTypeName));
@@ -413,15 +413,15 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
         this.logicalType = spec.getLogicalType();
         
         if(spec.isEncodeable()) {
-            this.encodableValue = rootOid.getIdentifier();
+            this.encodableValue = oid.getIdentifier();
             this.recreateStrategy = RecreateStrategy.ENCODEABLE;
             return;
         }
 
-        this.persistentOidStr = rootOid.enString();
+        this.persistentOidStr = oid.enString();
         requires(persistentOidStr, "persistentOidStr");
 
-        this.bookmark = rootOid.asBookmark();
+        this.bookmark = oid.asBookmark();
         this.recreateStrategy = RecreateStrategy.LOOKUP;
     }
 
@@ -445,9 +445,9 @@ final class ObjectMementoWkt implements HasLogicalType, Serializable {
         val spec = adapter.getSpecification();
 
         if(spec.isIdentifiable() || spec.isParented() ) {
-            val rootOid = ManagedObjects.identifyElseFail(adapter);
-            persistentOidStr = rootOid.enString();
-            bookmark = rootOid.asBookmark();
+            val oid = ManagedObjects.identifyElseFail(adapter);
+            persistentOidStr = oid.enString();
+            bookmark = oid.asBookmark();
             if(adapter.getPojo() instanceof HintIdProvider) {
                 HintIdProvider provider = (HintIdProvider) adapter.getPojo();
                 this.hintId = provider.hintId();