You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/12/05 00:41:09 UTC

[isis] branch master updated (6dc3d8c -> b4287fb)

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

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


    from 6dc3d8c  ISIS-2213: updates git.propertiesDir etc for viewer-wicket-viewer
     new c22e4c9  ISIS-2213: just moves some classes around in viewer-wicket-viewer
     new b4287fb  ISIS-2213: moves classes around in viewer-wicket-viewer

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:
 .../imagecache/ImageResourceCacheClassPath.java    | 120 ---------
 .../viewer/imagecache/ImageResourceCacheKey.java   | 194 --------------
 .../{wicket => }/AnonymousWebSessionForIsis.java   |   2 +-
 .../AuthenticatedWebSessionForIsis.java            |   2 +-
 .../{wicket => }/ConverterForObjectAdapter.java    |   2 +-
 .../ConverterForObjectAdapterMemento.java          |   2 +-
 .../IsisResourceSettings.java                      |   2 +-
 .../integration/{wicket => }/LocalizerForIsis.java |   4 +-
 .../{wicket => }/WebRequestCycleForIsis.java       |   2 +-
 .../{services => mixins}/Object_clearHints.java    |   3 +-
 .../viewer/services/BookmarkUiServiceWicket.java   |   2 +-
 .../services/ImageResourceCacheClassPath.java      | 291 +++++++++++++++++++++
 .../services/TranslationsResolverWicket.java       |   2 +-
 .../WicketViewerSettingsDefault.java               |   2 +-
 .../viewer/{ => webmodule}/WebModuleWicket.java    |  11 +-
 .../{ => wicketapp}/IsisWicketApplication.java     |  12 +-
 .../IsisWicketApplication_Experimental.java        |   2 +-
 .../IsisWicketApplication_newPageFactory.java      |   2 +-
 .../IsisWicketApplication_newSession.java          |   4 +-
 ...rgetRespondListenerToResetQueryResultCache.java |   2 +-
 ...uthenticatedWebSessionForIsis_Authenticate.java |   2 +-
 ...ionForIsis_DownCastsInheritedFunctionality.java |   2 +-
 ...thenticatedWebSessionForIsis_Instantiation.java |   4 +-
 ...ticatedWebSessionForIsis_NotYetImplemented.java |   2 +-
 .../AuthenticatedWebSessionForIsis_SignIn.java     |   2 +-
 ...uthenticatedWebSessionForIsis_TestAbstract.java |   4 +-
 .../pages/PageClassListDefault_Instantiation.java  |  68 -----
 ...ageClassListDefault_RegistrationAndCaching.java |   2 +-
 .../ImageResourceCacheKeyTest.java                 |  46 ++--
 .../IsisWicketApplication_Defaults.java            |   6 +-
 .../IsisWicketApplication_Pages.java               |   3 +-
 31 files changed, 357 insertions(+), 447 deletions(-)
 delete mode 100644 core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java
 delete mode 100644 core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKey.java
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/{wicket => }/AnonymousWebSessionForIsis.java (96%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/{wicket => }/AuthenticatedWebSessionForIsis.java (99%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/{wicket => }/ConverterForObjectAdapter.java (97%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/{wicket => }/ConverterForObjectAdapterMemento.java (97%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{settings => integration}/IsisResourceSettings.java (98%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/{wicket => }/LocalizerForIsis.java (97%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/{wicket => }/WebRequestCycleForIsis.java (99%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{services => mixins}/Object_clearHints.java (95%)
 create mode 100644 core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/ImageResourceCacheClassPath.java
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{settings => services}/WicketViewerSettingsDefault.java (98%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{ => webmodule}/WebModuleWicket.java (93%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{ => wicketapp}/IsisWicketApplication.java (98%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{ => wicketapp}/IsisWicketApplication_Experimental.java (98%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{ => wicketapp}/IsisWicketApplication_newPageFactory.java (98%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{ => wicketapp}/IsisWicketApplication_newSession.java (90%)
 rename core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/{ => wicketapp}/TargetRespondListenerToResetQueryResultCache.java (96%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{app/wicket => integration}/AuthenticatedWebSessionForIsis_Authenticate.java (97%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{app/wicket => integration}/AuthenticatedWebSessionForIsis_DownCastsInheritedFunctionality.java (95%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{app/wicket => integration}/AuthenticatedWebSessionForIsis_Instantiation.java (92%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{app/wicket => integration}/AuthenticatedWebSessionForIsis_NotYetImplemented.java (95%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{app/wicket => integration}/AuthenticatedWebSessionForIsis_SignIn.java (96%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{app/wicket => integration}/AuthenticatedWebSessionForIsis_TestAbstract.java (95%)
 delete mode 100644 core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/pages/PageClassListDefault_Instantiation.java
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{ => registries}/pages/PageClassListDefault_RegistrationAndCaching.java (97%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{imagecache => services}/ImageResourceCacheKeyTest.java (75%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{ => wicketapp}/IsisWicketApplication_Defaults.java (93%)
 rename core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/{ => wicketapp}/IsisWicketApplication_Pages.java (96%)


[isis] 02/02: ISIS-2213: moves classes around in viewer-wicket-viewer

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit b4287fb1ea8b219d3e7ab3d74b28f920b6e774f8
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 00:36:15 2019 +0000

    ISIS-2213: moves classes around in viewer-wicket-viewer
---
 .../viewer/{settings => integration}/IsisResourceSettings.java   | 2 +-
 .../{imagecache => services}/ImageResourceCacheClassPath.java    | 2 +-
 .../isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java     | 9 ++++-----
 .../viewer/wicket/viewer/wicketapp/IsisWicketApplication.java    | 3 +--
 .../TargetRespondListenerToResetQueryResultCache.java            | 2 +-
 .../{imagecache => services}/ImageResourceCacheKeyTest.java      | 2 +-
 6 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/IsisResourceSettings.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/IsisResourceSettings.java
similarity index 98%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/IsisResourceSettings.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/IsisResourceSettings.java
index 9896775..36145d3 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/IsisResourceSettings.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/IsisResourceSettings.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.settings;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.util.List;
 
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/ImageResourceCacheClassPath.java
similarity index 99%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/ImageResourceCacheClassPath.java
index 2f0b8df..a0042a8 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/ImageResourceCacheClassPath.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.wicket.viewer.imagecache;
+package org.apache.isis.viewer.wicket.viewer.services;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java
index 8dc4fa8..a2dd919 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java
@@ -26,6 +26,7 @@ import javax.servlet.ServletContextListener;
 import javax.servlet.ServletException;
 
 import org.apache.isis.config.IsisConfiguration;
+import org.apache.wicket.protocol.http.WicketFilter;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
 
@@ -47,9 +48,7 @@ import static org.apache.isis.commons.internal.exceptions._Exceptions.unexpected
 @Service @Order(-80)
 public final class WebModuleWicket implements WebModule  {
 
-    private final static String WICKET_FILTER_CLASS_NAME = 
-            "org.apache.wicket.protocol.http.WicketFilter";
-
+    private final static String WICKET_FILTER_CLASS_NAME = WicketFilter.class.getName();
     private final static String WICKET_FILTER_NAME = "WicketFilter";
 
     private final IsisSystemEnvironment isisSystemEnvironment;
@@ -64,9 +63,9 @@ public final class WebModuleWicket implements WebModule  {
         this.isisSystemEnvironment = isisSystemEnvironment;
         this.isisConfiguration = isisConfiguration;
 
-        wicketBasePath = isisConfiguration.getViewer().getWicket().getBasePath();
+        wicketBasePath = this.isisConfiguration.getViewer().getWicket().getBasePath();
 
-        deploymentMode = isisSystemEnvironment.isPrototyping()
+        deploymentMode = this.isisSystemEnvironment.isPrototyping()
                 ? "development"
                 : "deployment";
 
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
index 8b7f4ec..6d0d955 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
@@ -27,7 +27,6 @@ import java.util.function.Function;
 
 import javax.inject.Inject;
 
-import org.apache.isis.viewer.wicket.viewer.TargetRespondListenerToResetQueryResultCache;
 import org.apache.wicket.Application;
 import org.apache.wicket.ConverterLocator;
 import org.apache.wicket.IConverterLocator;
@@ -91,7 +90,7 @@ import org.apache.isis.viewer.wicket.viewer.integration.AuthenticatedWebSessionF
 import org.apache.isis.viewer.wicket.viewer.integration.ConverterForObjectAdapter;
 import org.apache.isis.viewer.wicket.viewer.integration.ConverterForObjectAdapterMemento;
 import org.apache.isis.viewer.wicket.viewer.integration.WebRequestCycleForIsis;
-import org.apache.isis.viewer.wicket.viewer.settings.IsisResourceSettings;
+import org.apache.isis.viewer.wicket.viewer.integration.IsisResourceSettings;
 import org.apache.isis.webapp.context.IsisWebAppCommonContext;
 
 import static java.util.Objects.requireNonNull;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/TargetRespondListenerToResetQueryResultCache.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/TargetRespondListenerToResetQueryResultCache.java
similarity index 96%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/TargetRespondListenerToResetQueryResultCache.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/TargetRespondListenerToResetQueryResultCache.java
index 5cede7d..080fe79 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/TargetRespondListenerToResetQueryResultCache.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/TargetRespondListenerToResetQueryResultCache.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
 import javax.inject.Inject;
 
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKeyTest.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/services/ImageResourceCacheKeyTest.java
similarity index 99%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKeyTest.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/services/ImageResourceCacheKeyTest.java
index a40f05c..6b65f31 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKeyTest.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/services/ImageResourceCacheKeyTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.wicket.viewer.imagecache;
+package org.apache.isis.viewer.wicket.viewer.services;
 
 import java.util.Iterator;
 import java.util.List;


[isis] 01/02: ISIS-2213: just moves some classes around in viewer-wicket-viewer

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit c22e4c92b3ba8afaccc0bd9acb096b98dc4f9dd3
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 00:31:37 2019 +0000

    ISIS-2213: just moves some classes around in viewer-wicket-viewer
---
 .../imagecache/ImageResourceCacheClassPath.java    | 171 ++++++++++++++++++
 .../viewer/imagecache/ImageResourceCacheKey.java   | 194 ---------------------
 .../{wicket => }/AnonymousWebSessionForIsis.java   |   2 +-
 .../AuthenticatedWebSessionForIsis.java            |   2 +-
 .../{wicket => }/ConverterForObjectAdapter.java    |   2 +-
 .../ConverterForObjectAdapterMemento.java          |   2 +-
 .../integration/{wicket => }/LocalizerForIsis.java |   4 +-
 .../{wicket => }/WebRequestCycleForIsis.java       |   2 +-
 .../{services => mixins}/Object_clearHints.java    |   3 +-
 .../viewer/services/BookmarkUiServiceWicket.java   |   2 +-
 .../services/TranslationsResolverWicket.java       |   2 +-
 .../WicketViewerSettingsDefault.java               |   2 +-
 .../viewer/{ => webmodule}/WebModuleWicket.java    |   2 +-
 .../{ => wicketapp}/IsisWicketApplication.java     |  11 +-
 .../IsisWicketApplication_Experimental.java        |   2 +-
 .../IsisWicketApplication_newPageFactory.java      |   2 +-
 .../IsisWicketApplication_newSession.java          |   4 +-
 .../imagecache/ImageResourceCacheKeyTest.java      |  44 ++---
 ...uthenticatedWebSessionForIsis_Authenticate.java |   2 +-
 ...ionForIsis_DownCastsInheritedFunctionality.java |   2 +-
 ...thenticatedWebSessionForIsis_Instantiation.java |   4 +-
 ...ticatedWebSessionForIsis_NotYetImplemented.java |   2 +-
 .../AuthenticatedWebSessionForIsis_SignIn.java     |   2 +-
 ...uthenticatedWebSessionForIsis_TestAbstract.java |   4 +-
 .../pages/PageClassListDefault_Instantiation.java  |  68 --------
 ...ageClassListDefault_RegistrationAndCaching.java |   2 +-
 .../IsisWicketApplication_Defaults.java            |   6 +-
 .../IsisWicketApplication_Pages.java               |   3 +-
 28 files changed, 230 insertions(+), 318 deletions(-)

diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java
index 0fc780c..2f0b8df 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheClassPath.java
@@ -20,10 +20,14 @@ package org.apache.isis.viewer.wicket.viewer.imagecache;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.Serializable;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.metamodel.commons.ClassUtil;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.request.resource.ResourceReference;
 import org.springframework.stereotype.Service;
@@ -117,4 +121,171 @@ public class ImageResourceCacheClassPath implements ImageResourceCache {
             // ignore
         }
     }
+
+    static final class ImageResourceCacheKey implements Serializable {
+
+        ImageResourceCacheKey(
+                final Class<?> resourceClass,
+                final String resourceName) {
+            this.resourceName = resourceName;
+            this.resourceClass = resourceClass;
+            this.toString = calcToString();
+        }
+
+        // -- getResourceClass, getResourceName
+
+        private final Class<?> resourceClass;
+        private final String resourceName;
+
+        public final Class<?> getResourceClass() {
+            return resourceClass;
+        }
+
+        public final String getResourceName() {
+            return resourceName;
+        }
+
+
+        // -- superKey
+
+        ImageResourceCacheKey superKey() {
+            if(resourceClass == null) {
+                return null;
+            }
+            final Class<?> superclass = resourceClass.getSuperclass();
+            if(superclass == Object.class) {
+                return null;
+            }
+            return new ImageResourceCacheKey(superclass, resourceName);
+        }
+
+
+
+        // -- resourcePaths
+
+        List<ImageResourceCacheKey> resourcePaths(final String... suffices) {
+            return resourcePaths(Arrays.asList(suffices));
+        }
+
+        List<ImageResourceCacheKey> resourcePaths(final List<String> suffices) {
+
+            ImageResourceCacheKey key;
+            final List<ImageResourceCacheKey> resourcePaths = _Lists.newArrayList();
+
+
+            boolean generated = false;
+
+            if(resourceName != null) {
+
+                final Class<?> resourceClass = ClassUtil.forNameElseNull(resourceName);
+
+                if(resourceClass != null) {
+                    for (String suffix : suffices) {
+                        resourcePaths.add(new ImageResourceCacheKey(resourceClass, resourceClass.getSimpleName() + "." + suffix));
+                    }
+                    generated = true;
+                }
+            }
+
+            if(!generated && resourceClass != null) {
+                // with the iconName
+                if(resourceName != null) {
+                    key = this;
+                    do {
+                        for (String suffix : suffices) {
+                            resourcePaths.add(new ImageResourceCacheKey(key.getResourceClass(), key.getResourceClass().getSimpleName() + "-" + resourceName + "." + suffix));
+                        }
+                        for (String suffix : suffices) {
+                            resourcePaths.add(new ImageResourceCacheKey(key.getResourceClass(), resourceName + "." + suffix));
+                        }
+                    } while ((key = key.superKey()) != null);
+                    key = this;
+                    do {
+                        for (String suffix : suffices) {
+                            resourcePaths.add(new ImageResourceCacheKey(null, key.getResourceClass().getSimpleName() + "-" + resourceName + "." + suffix));
+                        }
+                    } while ((key = key.superKey()) != null);
+                    for (String suffix : suffices) {
+                        resourcePaths.add(new ImageResourceCacheKey(null, resourceName + "." + suffix));
+                    }
+                }
+
+                // without the iconName
+                key = this;
+                do {
+                    for (String suffix : suffices) {
+                        resourcePaths.add(new ImageResourceCacheKey(key.getResourceClass(), key.getResourceClass().getSimpleName() + "." + suffix));
+                    }
+                } while ((key = key.superKey()) != null);
+                key = this;
+                do {
+                    for (String suffix : suffices) {
+                        resourcePaths.add(new ImageResourceCacheKey(null, key.getResourceClass().getSimpleName() + "." + suffix));
+                    }
+                } while ((key = key.superKey()) != null);
+
+                generated = true;
+            }
+
+            if(!generated && resourceName != null) {
+
+                for (String suffix : suffices) {
+                    resourcePaths.add(new ImageResourceCacheKey(null, resourceName + "." + suffix));
+                }
+
+            }
+
+            // fallback
+            for (String suffix : suffices) {
+                resourcePaths.add(new ImageResourceCacheKey(null, "Default" + "." + suffix));
+            }
+
+
+            return Collections.unmodifiableList(resourcePaths);
+        }
+
+
+
+        // -- equals, hashCode
+
+        @Override
+        public boolean equals(Object o) {
+            if (this == o) return true;
+            if (o == null || getClass() != o.getClass()) return false;
+            ImageResourceCacheKey key = (ImageResourceCacheKey) o;
+            if (toString != null ? !toString.equals(key.toString) : key.toString != null) return false;
+            return true;
+        }
+
+        @Override
+        public int hashCode() {
+            return toString != null ? toString.hashCode() : 0;
+        }
+
+
+
+        // -- toString
+
+        private final String toString;
+
+        @Override
+        public String toString() {
+            return toString;
+        }
+
+        private String calcToString() {
+            final StringBuilder buf = new StringBuilder();
+            if(resourceClass != null) {
+                buf.append(resourceClass.getName()).append("/").append(resourceClass.getSimpleName());
+            }
+            if(buf.length() > 0) {
+                buf.append("-");
+            }
+            if(resourceName != null) {
+                buf.append(resourceName);
+            }
+            return buf.toString();
+        }
+
+    }
 }
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKey.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKey.java
deleted file mode 100644
index 54c7ba5..0000000
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKey.java
+++ /dev/null
@@ -1,194 +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.viewer.wicket.viewer.imagecache;
-
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.commons.ClassUtil;
-
-final class ImageResourceCacheKey implements Serializable {
-
-    ImageResourceCacheKey(
-            final Class<?> resourceClass,
-            final String resourceName) {
-        this.resourceName = resourceName;
-        this.resourceClass = resourceClass;
-        this.toString = calcToString();
-    }
-
-    // -- getResourceClass, getResourceName
-
-    private final Class<?> resourceClass;
-    private final String resourceName;
-
-    public final Class<?> getResourceClass() {
-        return resourceClass;
-    }
-
-    public final String getResourceName() {
-        return resourceName;
-    }
-
-
-    // -- superKey
-
-    ImageResourceCacheKey superKey() {
-        if(resourceClass == null) {
-            return null;
-        }
-        final Class<?> superclass = resourceClass.getSuperclass();
-        if(superclass == Object.class) {
-            return null;
-        }
-        return new ImageResourceCacheKey(superclass, resourceName);
-    }
-
-
-
-    // -- resourcePaths
-
-    List<ImageResourceCacheKey> resourcePaths(final String... suffices) {
-        return resourcePaths(Arrays.asList(suffices));
-    }
-
-    List<ImageResourceCacheKey> resourcePaths(final List<String> suffices) {
-
-        ImageResourceCacheKey key;
-        final List<ImageResourceCacheKey> resourcePaths = _Lists.newArrayList();
-
-
-        boolean generated = false;
-
-        if(resourceName != null) {
-
-            final Class<?> resourceClass = ClassUtil.forNameElseNull(resourceName);
-
-            if(resourceClass != null) {
-                for (String suffix : suffices) {
-                    resourcePaths.add(new ImageResourceCacheKey(resourceClass, resourceClass.getSimpleName() + "." + suffix));
-                }
-                generated = true;
-            }
-        }
-
-        if(!generated && resourceClass != null) {
-            // with the iconName
-            if(resourceName != null) {
-                key = this;
-                do {
-                    for (String suffix : suffices) {
-                        resourcePaths.add(new ImageResourceCacheKey(key.getResourceClass(), key.getResourceClass().getSimpleName() + "-" + resourceName + "." + suffix));
-                    }
-                    for (String suffix : suffices) {
-                        resourcePaths.add(new ImageResourceCacheKey(key.getResourceClass(), resourceName + "." + suffix));
-                    }
-                } while ((key = key.superKey()) != null);
-                key = this;
-                do {
-                    for (String suffix : suffices) {
-                        resourcePaths.add(new ImageResourceCacheKey(null, key.getResourceClass().getSimpleName() + "-" + resourceName + "." + suffix));
-                    }
-                } while ((key = key.superKey()) != null);
-                for (String suffix : suffices) {
-                    resourcePaths.add(new ImageResourceCacheKey(null, resourceName + "." + suffix));
-                }
-            }
-
-            // without the iconName
-            key = this;
-            do {
-                for (String suffix : suffices) {
-                    resourcePaths.add(new ImageResourceCacheKey(key.getResourceClass(), key.getResourceClass().getSimpleName() + "." + suffix));
-                }
-            } while ((key = key.superKey()) != null);
-            key = this;
-            do {
-                for (String suffix : suffices) {
-                    resourcePaths.add(new ImageResourceCacheKey(null, key.getResourceClass().getSimpleName() + "." + suffix));
-                }
-            } while ((key = key.superKey()) != null);
-
-            generated = true;
-        }
-
-        if(!generated && resourceName != null) {
-
-            for (String suffix : suffices) {
-                resourcePaths.add(new ImageResourceCacheKey(null, resourceName + "." + suffix));
-            }
-
-        }
-
-        // fallback
-        for (String suffix : suffices) {
-            resourcePaths.add(new ImageResourceCacheKey(null, "Default" + "." + suffix));
-        }
-
-
-        return Collections.unmodifiableList(resourcePaths);
-    }
-
-
-
-    // -- equals, hashCode
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        ImageResourceCacheKey key = (ImageResourceCacheKey) o;
-        if (toString != null ? !toString.equals(key.toString) : key.toString != null) return false;
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        return toString != null ? toString.hashCode() : 0;
-    }
-
-
-
-    // -- toString
-
-    private final String toString;
-
-    @Override
-    public String toString() {
-        return toString;
-    }
-
-    private String calcToString() {
-        final StringBuilder buf = new StringBuilder();
-        if(resourceClass != null) {
-            buf.append(resourceClass.getName()).append("/").append(resourceClass.getSimpleName());
-        }
-        if(buf.length() > 0) {
-            buf.append("-");
-        }
-        if(resourceName != null) {
-            buf.append(resourceName);
-        }
-        return buf.toString();
-    }
-
-}
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AnonymousWebSessionForIsis.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AnonymousWebSessionForIsis.java
similarity index 96%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AnonymousWebSessionForIsis.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AnonymousWebSessionForIsis.java
index 90c6c72..41e28e1 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AnonymousWebSessionForIsis.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AnonymousWebSessionForIsis.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.integration.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import org.apache.wicket.Session;
 import org.apache.wicket.request.Request;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
similarity index 99%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
index e8afac0..b2981c4 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.integration.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.util.Date;
 import java.util.Objects;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapter.java
similarity index 97%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapter.java
index 6bae930..ac01cbe 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapter.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.integration.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.util.Locale;
 
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapterMemento.java
similarity index 97%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapterMemento.java
index 558c470..490355f 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/ConverterForObjectAdapterMemento.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.integration.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.util.Locale;
 
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
similarity index 97%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
index da48491..403f5a8 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.wicket.viewer.integration.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.util.Locale;
 import java.util.MissingResourceException;
@@ -36,7 +36,7 @@ import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.runtime.system.session.IsisSession;
 import org.apache.isis.runtime.system.session.IsisSessionFactory;
-import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
+import org.apache.isis.viewer.wicket.viewer.wicketapp.IsisWicketApplication;
 
 /**
  * Implementation integrates Isis' own i18n support ({@link TranslationService}) with Wicket's equivalent i18n
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
similarity index 99%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
index 3a359a5..1713cc7 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.integration.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.lang.reflect.Constructor;
 import java.util.List;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/Object_clearHints.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
similarity index 95%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/Object_clearHints.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
index 026f7f7..1ee3bbd 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/Object_clearHints.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.wicket.viewer.services;
+package org.apache.isis.viewer.wicket.viewer.mixins;
 
 import javax.inject.Inject;
 
@@ -30,6 +30,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
 import org.apache.isis.applib.services.hint.HintStore;
+import org.apache.isis.viewer.wicket.viewer.services.HintStoreUsingWicketSession;
 
 @Mixin(method="act")
 public class Object_clearHints {
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/BookmarkUiServiceWicket.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/BookmarkUiServiceWicket.java
index 39f8273..04be85c 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/BookmarkUiServiceWicket.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/BookmarkUiServiceWicket.java
@@ -21,7 +21,7 @@ package org.apache.isis.viewer.wicket.viewer.services;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.services.bookmarkui.BookmarkUiService;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.integration.AuthenticatedWebSessionForIsis;
 
 @DomainService(
         nature = NatureOfService.DOMAIN
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/TranslationsResolverWicket.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/TranslationsResolverWicket.java
index 391b6f2..90b091d 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/TranslationsResolverWicket.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/TranslationsResolverWicket.java
@@ -35,7 +35,7 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.services.i18n.TranslationsResolver;
 import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
+import org.apache.isis.viewer.wicket.viewer.wicketapp.IsisWicketApplication;
 
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/WicketViewerSettingsDefault.java
similarity index 98%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/WicketViewerSettingsDefault.java
index 3b7aa18..d296b30 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/WicketViewerSettingsDefault.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.settings;
+package org.apache.isis.viewer.wicket.viewer.services;
 
 import javax.inject.Inject;
 
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/WebModuleWicket.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java
similarity index 98%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/WebModuleWicket.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java
index 64a6e89..8dc4fa8 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/WebModuleWicket.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/webmodule/WebModuleWicket.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.webmodule;
 
 import javax.inject.Inject;
 import javax.servlet.Filter;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
similarity index 98%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
index 4dd2e1a..8b7f4ec 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
 import java.util.Collections;
 import java.util.ServiceLoader;
@@ -27,6 +27,7 @@ import java.util.function.Function;
 
 import javax.inject.Inject;
 
+import org.apache.isis.viewer.wicket.viewer.TargetRespondListenerToResetQueryResultCache;
 import org.apache.wicket.Application;
 import org.apache.wicket.ConverterLocator;
 import org.apache.wicket.IConverterLocator;
@@ -86,10 +87,10 @@ import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
 import org.apache.isis.viewer.wicket.ui.pages.accmngt.AccountConfirmationMap;
 import org.apache.isis.viewer.wicket.ui.pages.login.WicketLogoutPage;
 import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.ConverterForObjectAdapter;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.ConverterForObjectAdapterMemento;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis;
+import org.apache.isis.viewer.wicket.viewer.integration.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.integration.ConverterForObjectAdapter;
+import org.apache.isis.viewer.wicket.viewer.integration.ConverterForObjectAdapterMemento;
+import org.apache.isis.viewer.wicket.viewer.integration.WebRequestCycleForIsis;
 import org.apache.isis.viewer.wicket.viewer.settings.IsisResourceSettings;
 import org.apache.isis.webapp.context.IsisWebAppCommonContext;
 
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Experimental.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Experimental.java
similarity index 98%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Experimental.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Experimental.java
index e5d4173..e397a87 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Experimental.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Experimental.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
 import java.util.Map;
 import java.util.Set;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newPageFactory.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_newPageFactory.java
similarity index 98%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newPageFactory.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_newPageFactory.java
index d9603bb..c441d76 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newPageFactory.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_newPageFactory.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
 import org.apache.isis.webapp.context.IsisWebAppCommonContext;
 import org.apache.wicket.IPageFactory;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newSession.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_newSession.java
similarity index 90%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newSession.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_newSession.java
index 260ec04..66cb878 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_newSession.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_newSession.java
@@ -17,11 +17,11 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
 import org.apache.wicket.Session;
 
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.integration.AuthenticatedWebSessionForIsis;
 
 import lombok.RequiredArgsConstructor;
 
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKeyTest.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKeyTest.java
index 5932902..a40f05c 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKeyTest.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/imagecache/ImageResourceCacheKeyTest.java
@@ -30,7 +30,7 @@ import static org.junit.Assert.assertThat;
 
 public class ImageResourceCacheKeyTest {
 
-    ImageResourceCacheKey key;
+    ImageResourceCacheClassPath.ImageResourceCacheKey key;
 
     public static class SomeSuperclass {
     }
@@ -47,8 +47,8 @@ public class ImageResourceCacheKeyTest {
         @Test
         public void whenSubclass() throws Exception {
 
-            key = new ImageResourceCacheKey(SomeSubclass.class, "foo");
-            final ImageResourceCacheKey superKey = key.superKey();
+            key = new ImageResourceCacheClassPath.ImageResourceCacheKey(SomeSubclass.class, "foo");
+            final ImageResourceCacheClassPath.ImageResourceCacheKey superKey = key.superKey();
 
             assertEquals(SomeSuperclass.class, superKey.getResourceClass());
             assertEquals("foo", key.getResourceName());
@@ -57,8 +57,8 @@ public class ImageResourceCacheKeyTest {
         @Test
         public void whenSuperClass() throws Exception {
 
-            key = new ImageResourceCacheKey(SomeSuperclass.class, null);
-            final ImageResourceCacheKey superKey = key.superKey();
+            key = new ImageResourceCacheClassPath.ImageResourceCacheKey(SomeSuperclass.class, null);
+            final ImageResourceCacheClassPath.ImageResourceCacheKey superKey = key.superKey();
 
             assertNull(superKey);
         }
@@ -69,11 +69,11 @@ public class ImageResourceCacheKeyTest {
 
         @Test
         public void withIconName() throws Exception {
-            key = new ImageResourceCacheKey(SomeSubclass.class, "foo");
+            key = new ImageResourceCacheClassPath.ImageResourceCacheKey(SomeSubclass.class, "foo");
 
-            final List<ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
+            final List<ImageResourceCacheClassPath.ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
 
-            final Iterator<ImageResourceCacheKey> iterator = keys.iterator();
+            final Iterator<ImageResourceCacheClassPath.ImageResourceCacheKey> iterator = keys.iterator();
 
             assertNext(iterator, SomeSubclass.class, "SomeSubclass-foo.png");
             assertNext(iterator, SomeSubclass.class, "SomeSubclass-foo.jpg");
@@ -127,11 +127,11 @@ public class ImageResourceCacheKeyTest {
 
         @Test
         public void withoutIconName() throws Exception {
-            key = new ImageResourceCacheKey(SomeSubclass.class, null);
+            key = new ImageResourceCacheClassPath.ImageResourceCacheKey(SomeSubclass.class, null);
 
-            final List<ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
+            final List<ImageResourceCacheClassPath.ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
 
-            final Iterator<ImageResourceCacheKey> iterator = keys.iterator();
+            final Iterator<ImageResourceCacheClassPath.ImageResourceCacheKey> iterator = keys.iterator();
 
             assertNext(iterator, SomeSubclass.class, "SomeSubclass.png");
             assertNext(iterator, SomeSubclass.class, "SomeSubclass.jpg");
@@ -157,11 +157,11 @@ public class ImageResourceCacheKeyTest {
 
         @Test
         public void withoutClass() throws Exception {
-            key = new ImageResourceCacheKey(null, "foo");
+            key = new ImageResourceCacheClassPath.ImageResourceCacheKey(null, "foo");
 
-            final List<ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
+            final List<ImageResourceCacheClassPath.ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
 
-            final Iterator<ImageResourceCacheKey> iterator = keys.iterator();
+            final Iterator<ImageResourceCacheClassPath.ImageResourceCacheKey> iterator = keys.iterator();
 
             assertNext(iterator, null, "foo.png");
             assertNext(iterator, null, "foo.jpg");
@@ -177,11 +177,11 @@ public class ImageResourceCacheKeyTest {
          */
         @Test
         public void withoutClassButIconNameSpecifyingADifferentContextClassAndClassName() throws Exception {
-            key = new ImageResourceCacheKey(SomeOtherContextClass.class, SomeSuperclass.class.getName());
+            key = new ImageResourceCacheClassPath.ImageResourceCacheKey(SomeOtherContextClass.class, SomeSuperclass.class.getName());
 
-            final List<ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
+            final List<ImageResourceCacheClassPath.ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
 
-            final Iterator<ImageResourceCacheKey> iterator = keys.iterator();
+            final Iterator<ImageResourceCacheClassPath.ImageResourceCacheKey> iterator = keys.iterator();
 
             assertNext(iterator, SomeSuperclass.class, "SomeSuperclass.png");
             assertNext(iterator, SomeSuperclass.class, "SomeSuperclass.jpg");
@@ -195,11 +195,11 @@ public class ImageResourceCacheKeyTest {
 
         @Test
         public void withoutClassButIconNameSpecifyingAClassName() throws Exception {
-            key = new ImageResourceCacheKey(null, SomeSuperclass.class.getName());
+            key = new ImageResourceCacheClassPath.ImageResourceCacheKey(null, SomeSuperclass.class.getName());
 
-            final List<ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
+            final List<ImageResourceCacheClassPath.ImageResourceCacheKey> keys = key.resourcePaths("png", "jpg", "jpeg");
 
-            final Iterator<ImageResourceCacheKey> iterator = keys.iterator();
+            final Iterator<ImageResourceCacheClassPath.ImageResourceCacheKey> iterator = keys.iterator();
 
             assertNext(iterator, SomeSuperclass.class, "SomeSuperclass.png");
             assertNext(iterator, SomeSuperclass.class, "SomeSuperclass.jpg");
@@ -211,9 +211,9 @@ public class ImageResourceCacheKeyTest {
 
         }
 
-        private static void assertNext(Iterator<ImageResourceCacheKey> iterator, Class<?> resourceClass, String resourceName) {
+        private static void assertNext(Iterator<ImageResourceCacheClassPath.ImageResourceCacheKey> iterator, Class<?> resourceClass, String resourceName) {
             assertThat(iterator.hasNext(), is(true));
-            final ImageResourceCacheKey next = iterator.next();
+            final ImageResourceCacheClassPath.ImageResourceCacheKey next = iterator.next();
             assertEquals(resourceClass, next.getResourceClass());
             assertEquals(resourceName, next.getResourceName());
         }
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_Authenticate.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Authenticate.java
similarity index 97%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_Authenticate.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Authenticate.java
index 48ae1f9..a560257 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_Authenticate.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Authenticate.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.app.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import org.jmock.Expectations;
 import org.junit.Before;
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_DownCastsInheritedFunctionality.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_DownCastsInheritedFunctionality.java
similarity index 95%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_DownCastsInheritedFunctionality.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_DownCastsInheritedFunctionality.java
index 7d5b133..7d13f0d 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_DownCastsInheritedFunctionality.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_DownCastsInheritedFunctionality.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.app.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import org.junit.Before;
 import org.junit.Ignore;
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_Instantiation.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Instantiation.java
similarity index 92%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_Instantiation.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Instantiation.java
index ac01719..fa54e22 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_Instantiation.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Instantiation.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.app.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.util.Locale;
 
@@ -29,7 +29,7 @@ import org.junit.Test;
 
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.integration.AuthenticatedWebSessionForIsis;
 
 public class AuthenticatedWebSessionForIsis_Instantiation {
 
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_NotYetImplemented.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_NotYetImplemented.java
similarity index 95%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_NotYetImplemented.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_NotYetImplemented.java
index 8c4f56b..cf290e5 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_NotYetImplemented.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_NotYetImplemented.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.app.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import org.junit.Before;
 import org.junit.Ignore;
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_SignIn.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_SignIn.java
similarity index 96%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_SignIn.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_SignIn.java
index 61f4252..a9e030b 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_SignIn.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_SignIn.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.app.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import org.jmock.Expectations;
 import org.junit.Before;
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_TestAbstract.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_TestAbstract.java
similarity index 95%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_TestAbstract.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_TestAbstract.java
index dd475ce..b2cbe03 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/app/wicket/AuthenticatedWebSessionForIsis_TestAbstract.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_TestAbstract.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.app.wicket;
+package org.apache.isis.viewer.wicket.viewer.integration;
 
 import java.util.Locale;
 import java.util.Optional;
@@ -33,7 +33,7 @@ import org.apache.isis.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.security.api.authentication.manager.AuthenticationManager;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.integration.AuthenticatedWebSessionForIsis;
 import org.apache.isis.webapp.context.IsisWebAppCommonContext;
 
 public abstract class AuthenticatedWebSessionForIsis_TestAbstract {
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/pages/PageClassListDefault_Instantiation.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/pages/PageClassListDefault_Instantiation.java
deleted file mode 100644
index 000bc51..0000000
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/pages/PageClassListDefault_Instantiation.java
+++ /dev/null
@@ -1,68 +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.viewer.wicket.viewer.pages;
-
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnit4Mockery;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.apache.isis.viewer.wicket.ui.pages.PageClassList;
-import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistrySpi;
-import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassRegistryDefault;
-
-@RunWith(JMock.class)
-public class PageClassListDefault_Instantiation {
-
-    private final Mockery context = new JUnit4Mockery();
-
-    @Before
-    public void setUp() throws Exception {
-    }
-
-    @After
-    public void tearDown() throws Exception {
-    }
-
-    @Test
-    public void shouldCauseAllPagesToBeRegistered() {
-        // necessary to provide an implementation that will register
-        // all pages with the registry.
-        //[2112] final PageClassListDefault pageClassList = new PageClassListDefault();
-        new PageClassRegistryDefault();
-    }
-
-    @Test(expected = IllegalStateException.class)
-    public void shouldFailIfNoPagesRegistered() {
-        // no side effects, ie doesn't register
-        final PageClassList mockPageClassList = context.mock(PageClassList.class);
-        context.checking(new Expectations() {
-            {
-                mockPageClassList.registerPages(with(any(PageClassRegistrySpi.class)));
-            }
-        });
-        new PageClassRegistryDefault();
-    }
-
-}
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/pages/PageClassListDefault_RegistrationAndCaching.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault_RegistrationAndCaching.java
similarity index 97%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/pages/PageClassListDefault_RegistrationAndCaching.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault_RegistrationAndCaching.java
index a15435a..2ea7acf 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/pages/PageClassListDefault_RegistrationAndCaching.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault_RegistrationAndCaching.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer.pages;
+package org.apache.isis.viewer.wicket.viewer.registries.pages;
 
 import org.apache.wicket.Page;
 import org.junit.Before;
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Defaults.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Defaults.java
similarity index 93%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Defaults.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Defaults.java
index fe1f3d6..7387d9e 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Defaults.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Defaults.java
@@ -17,8 +17,9 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
+import org.apache.isis.viewer.wicket.viewer.wicketapp.IsisWicketApplication;
 import org.apache.wicket.IConverterLocator;
 import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
 import org.junit.After;
@@ -27,12 +28,11 @@ import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.runtime.memento.ObjectAdapterMemento;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
+import org.apache.isis.viewer.wicket.viewer.integration.AuthenticatedWebSessionForIsis;
 
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.not;
diff --git a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Pages.java b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Pages.java
similarity index 96%
rename from core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Pages.java
rename to core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Pages.java
index 6ad7e9a..1c81cc4 100644
--- a/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication_Pages.java
+++ b/core/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Pages.java
@@ -17,8 +17,9 @@
  *  under the License.
  */
 
-package org.apache.isis.viewer.wicket.viewer;
+package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
+import org.apache.isis.viewer.wicket.viewer.wicketapp.IsisWicketApplication;
 import org.apache.wicket.Page;
 import org.apache.wicket.markup.html.WebPage;
 import org.jmock.Expectations;