You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/09/09 05:10:58 UTC

[isis] branch master updated: ISIS-3203: [Wicket Viewer] refactoring (2)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new fee15f50af ISIS-3203: [Wicket Viewer] refactoring (2)
fee15f50af is described below

commit fee15f50af9f5e2686f3f0cc1d195bd0620d4f4b
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 9 07:10:52 2022 +0200

    ISIS-3203: [Wicket Viewer] refactoring (2)
---
 .../wicket/model/models/EntityCollectionModel.java |  3 +--
 .../wicket/model/models/HasCommonContext.java      |  4 +++
 .../wicket/model/models/ObjectAdapterModel.java    |  3 +--
 .../wicket/model/models/ScalarModelWithChoice.java |  5 +---
 .../interaction/act/ParameterUiModelWkt.java       |  4 +--
 .../interaction/prop/PropertyUiModelWkt.java       |  4 +--
 .../isis/viewer/wicket/model/util/WktContext.java  |  3 +--
 .../model/value/ValueSemanticsModelAbstract.java   |  9 ++++---
 .../wicket/ui/components/WebComponentBase.java     | 30 +++-------------------
 .../ajaxtable/IsisAjaxNavigationToolbar.java       |  4 +--
 .../ui/components/widgets/select2/Select2.java     |  9 +++----
 .../select2/providers/ChoiceProviderAbstract.java  | 18 ++-----------
 .../viewer/wicket/ui/errors/JGrowlBehaviour.java   | 10 ++++----
 .../wicket/ui/panels/FormExecutorDefault.java      | 13 +++-------
 .../AuthenticatedWebSessionForIsis.java            |  4 +--
 .../viewer/integration/WebRequestCycleForIsis.java | 19 ++++++--------
 16 files changed, 47 insertions(+), 95 deletions(-)

diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index c21c7597a1..a7258145d8 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -24,7 +24,6 @@ import org.apache.wicket.model.IModel;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataTableModel;
 import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -37,7 +36,7 @@ import lombok.RequiredArgsConstructor;
 public interface EntityCollectionModel
 extends
     IModel<DataTableModel>,
-    HasMetaModelContext,
+    HasCommonContext,
     LinksProvider {
 
     // -- VARIANTS
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HasCommonContext.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HasCommonContext.java
index 227c0f531f..169eff2ba1 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HasCommonContext.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/HasCommonContext.java
@@ -35,6 +35,10 @@ public interface HasCommonContext extends HasMetaModelContext {
         return getTranslationService().translate(TranslationContext.empty(), input);
     }
 
+    default String translate(final TranslationContext tc, final String text) {
+        return getTranslationService().translate(tc, text);
+    }
+
     default boolean isPrototyping() {
         return getSystemEnvironment().isPrototyping();
     }
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java
index 0119d7330c..b791515844 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ObjectAdapterModel.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.model.models;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.commons.model.object.ObjectUiModel.HasRenderingHints;
@@ -30,7 +29,7 @@ import org.apache.isis.viewer.wicket.model.util.PageParameterUtils;
 
 public interface ObjectAdapterModel
 extends
-    HasMetaModelContext,
+    HasCommonContext,
     HasRenderingHints,
     IModel<ManagedObject> {
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithChoice.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithChoice.java
index e3ed36983b..cefa84e0a7 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithChoice.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModelWithChoice.java
@@ -20,16 +20,13 @@ package org.apache.isis.viewer.wicket.model.models;
 
 import org.apache.wicket.model.IModel;
 
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.interactions.managed.ManagedValue;
 
-
-
 public interface ScalarModelWithChoice<T>
 extends
     IModel<T>,
-    HasMetaModelContext {
+    HasCommonContext {
 
     ScalarModel scalarModel();
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ParameterUiModelWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ParameterUiModelWkt.java
index 1d2ae4f3c9..2b3ed52877 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ParameterUiModelWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ParameterUiModelWkt.java
@@ -20,7 +20,6 @@ package org.apache.isis.viewer.wicket.model.models.interaction.act;
 
 import org.apache.wicket.model.ChainingModel;
 
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.interactions.managed.ActionInteraction;
 import org.apache.isis.core.metamodel.interactions.managed.ParameterNegotiationModel;
@@ -28,6 +27,7 @@ import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.viewer.commons.model.HasParentUiModel;
 import org.apache.isis.viewer.commons.model.feature.ParameterUiModel;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.models.interaction.ObjectUiModelWkt;
 
 import lombok.NonNull;
@@ -40,7 +40,7 @@ import lombok.NonNull;
 public final class ParameterUiModelWkt
 extends ChainingModel<ActionInteraction>
 implements
-    HasMetaModelContext,
+    HasCommonContext,
     HasParentUiModel<ObjectUiModelWkt>,
     ParameterUiModel {
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyUiModelWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyUiModelWkt.java
index 9715bca082..a306295986 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyUiModelWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyUiModelWkt.java
@@ -20,7 +20,6 @@ package org.apache.isis.viewer.wicket.model.models.interaction.prop;
 
 import org.apache.wicket.model.ChainingModel;
 
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.interactions.managed.PropertyInteraction;
 import org.apache.isis.core.metamodel.interactions.managed.PropertyNegotiationModel;
@@ -28,6 +27,7 @@ import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.viewer.commons.model.HasParentUiModel;
 import org.apache.isis.viewer.commons.model.feature.PropertyUiModel;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.models.interaction.ObjectUiModelWkt;
 
 /**
@@ -42,7 +42,7 @@ import org.apache.isis.viewer.wicket.model.models.interaction.ObjectUiModelWkt;
 public final class PropertyUiModelWkt
 extends ChainingModel<PropertyInteraction>
 implements
-    HasMetaModelContext,
+    HasCommonContext,
     HasParentUiModel<ObjectUiModelWkt>,
     PropertyUiModel {
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/WktContext.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/WktContext.java
index 8e7c1de637..b4f28f4d20 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/WktContext.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/WktContext.java
@@ -27,7 +27,6 @@ import org.apache.isis.core.metamodel.context.MetaModelContext;
 
 import lombok.experimental.UtilityClass;
 
-
 /**
  * @since 2.0
  */
@@ -39,7 +38,7 @@ public class WktContext {
     }
 
     public MetaModelContext getCommonContext() {
-        return ((HasMetaModelContext) Application.get()).getMetaModelContext();
+        return getMetaModelContext();
     }
 
     public MetaModelContext computeIfAbsent(final MetaModelContext commonContext) {
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/value/ValueSemanticsModelAbstract.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/value/ValueSemanticsModelAbstract.java
index c6c3edfbfb..c79764ab77 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/value/ValueSemanticsModelAbstract.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/value/ValueSemanticsModelAbstract.java
@@ -24,12 +24,12 @@ import org.apache.isis.applib.Identifier;
 import org.apache.isis.commons.functional.Either;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.util.WktContext;
 
 import lombok.NonNull;
@@ -38,7 +38,7 @@ import lombok.val;
 
 abstract class ValueSemanticsModelAbstract
 implements
-    HasMetaModelContext,
+    HasCommonContext,
     Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -46,7 +46,7 @@ implements
     protected final Identifier featureIdentifier;
     protected final ScalarRepresentation scalarRepresentation;
     protected transient Either<OneToOneAssociation, ObjectActionParameter> propOrParam;
-    private transient MetaModelContext commonContext;
+
 
     protected ValueSemanticsModelAbstract(
             final @NonNull ObjectFeature propOrParam,
@@ -86,9 +86,10 @@ implements
 
     // -- DEPENDENCIES
 
+    private transient MetaModelContext mmc;
     @Override
     public final MetaModelContext getMetaModelContext() {
-        return commonContext = WktContext.computeIfAbsent(commonContext);
+        return mmc = WktContext.computeIfAbsent(mmc);
     }
 
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/WebComponentBase.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/WebComponentBase.java
index f69dbe25f3..b57a5a8e35 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/WebComponentBase.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/WebComponentBase.java
@@ -21,10 +21,8 @@ package org.apache.isis.viewer.wicket.ui.components;
 import org.apache.wicket.markup.html.WebComponent;
 import org.apache.wicket.model.IModel;
 
-import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.config.viewer.web.WebAppContextPath;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.util.WktContext;
 
 /**
@@ -33,7 +31,7 @@ import org.apache.isis.viewer.wicket.model.util.WktContext;
  */
 public abstract class WebComponentBase
 extends WebComponent
-implements HasMetaModelContext {
+implements HasCommonContext {
 
     public WebComponentBase(final String id) {
         super(id);
@@ -45,30 +43,10 @@ implements HasMetaModelContext {
 
     private static final long serialVersionUID = 1L;
 
-    private transient IsisConfiguration isisConfiguration;
-    private transient WebAppContextPath webAppContextPath;
-    private transient MetaModelContext commonContext;
-
+    private transient MetaModelContext mmc;
     @Override
     public MetaModelContext getMetaModelContext() {
-        return commonContext = WktContext.computeIfAbsent(commonContext);
-    }
-
-    public IsisConfiguration getIsisConfiguration() {
-        return isisConfiguration = computeIfAbsent(IsisConfiguration.class, isisConfiguration);
-    }
-
-    public WebAppContextPath getWebAppContextPath() {
-        return webAppContextPath = computeIfAbsent(WebAppContextPath.class, webAppContextPath);
-    }
-
-
-    // -- HELPER
-
-    private <X> X computeIfAbsent(Class<X> type, X existingIfAny) {
-        return existingIfAny!=null
-                ? existingIfAny
-                : getMetaModelContext().lookupServiceElseFail(type);
+        return mmc = WktContext.computeIfAbsent(mmc);
     }
 
 }
\ No newline at end of file
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxNavigationToolbar.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxNavigationToolbar.java
index ab493347ee..4a1c542d82 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxNavigationToolbar.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/IsisAjaxNavigationToolbar.java
@@ -23,16 +23,16 @@ import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxNav
 import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
 import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
 
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
 import org.apache.isis.viewer.wicket.model.models.EntityModel;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.util.WktContext;
 import org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.GenericToggleboxColumn;
 import org.apache.isis.viewer.wicket.ui.util.Wkt;
 
 public class IsisAjaxNavigationToolbar extends AjaxNavigationToolbar
-implements HasMetaModelContext {
+implements HasCommonContext {
 
     private static final long serialVersionUID = 1L;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2.java
index 126d0e9a9c..5282cb552a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/Select2.java
@@ -31,10 +31,10 @@ import org.wicketstuff.select2.Select2Choice;
 import org.wicketstuff.select2.Select2MultiChoice;
 
 import org.apache.isis.commons.functional.Either;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.core.metamodel.objectmanager.memento.ObjectMemento;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.model.models.ScalarModelWithMultiChoice;
 import org.apache.isis.viewer.wicket.model.models.ScalarModelWithSingleChoice;
@@ -52,7 +52,7 @@ import lombok.val;
 public class Select2
 implements
     Serializable,
-    HasMetaModelContext {
+    HasCommonContext {
 
     private static final long serialVersionUID = 1L;
 
@@ -204,11 +204,10 @@ implements
 
     // -- DEPENDENCIES
 
-    private transient MetaModelContext commonContext;
-
+    private transient MetaModelContext mmc;
     @Override
     public MetaModelContext getMetaModelContext() {
-        return commonContext = WktContext.computeIfAbsent(commonContext);
+        return mmc = WktContext.computeIfAbsent(mmc);
     }
 
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ChoiceProviderAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ChoiceProviderAbstract.java
index f98830de3b..c23521399f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ChoiceProviderAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/select2/providers/ChoiceProviderAbstract.java
@@ -29,17 +29,16 @@ import org.apache.isis.applib.services.i18n.TranslationContext;
 import org.apache.isis.applib.services.placeholder.PlaceholderRenderService.PlaceholderLiteral;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.core.config.IsisConfiguration.Viewer.Wicket;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.object.ManagedObject;
 import org.apache.isis.core.metamodel.objectmanager.memento.ObjectMemento;
 import org.apache.isis.core.metamodel.objectmanager.memento.ObjectMementoForEmpty;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 
 import lombok.val;
 
 public abstract class ChoiceProviderAbstract
 extends ChoiceProvider<ObjectMemento>
-implements HasMetaModelContext {
+implements HasCommonContext {
     private static final long serialVersionUID = 1L;
 
     /** arbitrary string */
@@ -144,17 +143,4 @@ implements HasMetaModelContext {
         return mementoFromId(id);
     }
 
-    // -- DEPENDENCIES
-
-    protected final Wicket getSettings() {
-        return getConfiguration().getViewer().getWicket();
-    }
-
-    /**
-     * Translate without context: Tooltips, Button-Labels, etc.
-     */
-    protected String translate(final String input) {
-        return getTranslationService().translate(TranslationContext.empty(), input);
-    }
-
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
index fc2d20b292..75db761c80 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
@@ -28,9 +28,9 @@ import org.apache.wicket.request.resource.JavaScriptResourceReference;
 
 import org.apache.isis.applib.exceptions.RecoverableException;
 import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.services.message.MessageBroker;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.util.WktContext;
 
 import lombok.val;
@@ -49,13 +49,12 @@ import lombok.val;
  */
 public class JGrowlBehaviour
 extends AbstractDefaultAjaxBehavior
-implements HasMetaModelContext {
+implements HasCommonContext {
 
     private static final long serialVersionUID = 1L;
-    private transient MetaModelContext commonContext;
 
     public JGrowlBehaviour(final MetaModelContext commonContext) {
-        this.commonContext = commonContext;
+        this.mmc = commonContext;
     }
 
     @Override
@@ -94,9 +93,10 @@ implements HasMetaModelContext {
 
     }
 
+    private transient MetaModelContext mmc;
     @Override
     public MetaModelContext getMetaModelContext() {
-        return commonContext = WktContext.computeIfAbsent(commonContext);
+        return mmc = WktContext.computeIfAbsent(mmc);
     }
 
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
index 865ed81248..bcbc59a890 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
@@ -30,13 +30,12 @@ import org.apache.isis.applib.services.exceprecog.Recognition;
 import org.apache.isis.commons.functional.Either;
 import org.apache.isis.commons.internal.debug._Debug;
 import org.apache.isis.commons.internal.debug.xray.XrayUi;
-import org.apache.isis.core.config.IsisConfiguration.Viewer.Wicket;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.object.MmEntityUtil;
 import org.apache.isis.viewer.wicket.model.models.ActionModel;
 import org.apache.isis.viewer.wicket.model.models.FormExecutor;
 import org.apache.isis.viewer.wicket.model.models.FormExecutorContext;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel;
 import org.apache.isis.viewer.wicket.ui.actionresponse.ActionResultResponseType;
 
@@ -46,7 +45,7 @@ import lombok.extern.log4j.Log4j2;
 
 @Log4j2
 public final class FormExecutorDefault
-implements FormExecutor, HasMetaModelContext {
+implements FormExecutor, HasCommonContext {
 
     private static final long serialVersionUID = 1L;
 
@@ -236,8 +235,7 @@ implements FormExecutor, HasMetaModelContext {
     @Override
     public MetaModelContext getMetaModelContext() {
         return actionOrPropertyModel
-                .fold(
-                        act->act.getMetaModelContext(),
+                .fold(  act->act.getMetaModelContext(),
                         prop->prop.getMetaModelContext());
     }
 
@@ -245,9 +243,4 @@ implements FormExecutor, HasMetaModelContext {
         return getServiceRegistry().lookupServiceElseFail(ExceptionRecognizerService.class);
     }
 
-    protected final Wicket getSettings() {
-        return getConfiguration().getViewer().getWicket();
-    }
-
-
 }
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
index 42a558156a..b78b73887f 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
@@ -36,12 +36,12 @@ import org.apache.isis.applib.services.user.ImpersonatedUserHolder;
 import org.apache.isis.applib.services.user.UserMemento;
 import org.apache.isis.applib.services.user.UserMemento.AuthenticationSource;
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.security.authentication.AuthenticationRequestPassword;
 import org.apache.isis.core.security.authentication.manager.AuthenticationManager;
 import org.apache.isis.viewer.wicket.model.isis.HasAmendableInteractionContext;
 import org.apache.isis.viewer.wicket.model.models.BookmarkedPagesModel;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel;
 import org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModelProvider;
 import org.apache.isis.viewer.wicket.ui.pages.BookmarkedPagesModelProvider;
@@ -60,7 +60,7 @@ extends AuthenticatedWebSession
 implements
     BreadcrumbModelProvider,
     BookmarkedPagesModelProvider,
-    HasMetaModelContext,
+    HasCommonContext,
     HasAmendableInteractionContext {
 
     private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
index 1d4c2fef5a..2d04b4e199 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
@@ -55,10 +55,10 @@ import org.apache.isis.applib.services.iactnlayer.InteractionService;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelInvalidException;
+import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
 import org.apache.isis.viewer.wicket.model.models.PageType;
 import org.apache.isis.viewer.wicket.model.util.WktContext;
 import org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
@@ -82,7 +82,7 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class WebRequestCycleForIsis
 implements
-    HasMetaModelContext,
+    HasCommonContext,
     IRequestCycleListener {
 
     // introduced (ISIS-1922) to handle render 'session refreshed' messages after session was expired
@@ -335,12 +335,9 @@ implements
         });
     }
 
-    private String translate(final String text) {
-        if(text == null) {
-            return null;
-        }
-        return getMetaModelContext().getTranslationService()
-                .translate(
+    @Override
+    public String translate(final String text) {
+        return translate(
                 		TranslationContext.forClassName(WebRequestCycleForIsis.class),
                 		text);
     }
@@ -360,9 +357,9 @@ implements
 
     protected IRequestablePage errorPageFor(final Exception ex) {
 
-        val commmonContext = getMetaModelContext();
+        val mmc = getMetaModelContext();
 
-        if(commmonContext==null) {
+        if(mmc==null) {
             log.warn("Unable to obtain the MetaModelContext (no session?)");
             return null;
         }
@@ -384,7 +381,7 @@ implements
                         .addAll(exceptionRecognizerService.getExceptionRecognizers()),
                         ex);
 
-        val exceptionModel = ExceptionModel.create(commmonContext, recognition, ex);
+        val exceptionModel = ExceptionModel.create(mmc, recognition, ex);
 
         return isSignedIn()
                 ? new ErrorPage(exceptionModel)