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 2013/11/15 20:29:26 UTC

[2/2] git commit: ISIS-589: bundle CSS into single resource

ISIS-589: bundle CSS into single resource

... so far as possible, at least.

All ComponentFactory components should have their CSS bundled, at least.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/bf4af4ec
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/bf4af4ec
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/bf4af4ec

Branch: refs/heads/master
Commit: bf4af4ec3f37aea8817fa2108e17def2bfc3486f
Parents: cc9b45f
Author: Dan Haywood <da...@apache.org>
Authored: Fri Nov 15 19:29:11 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Nov 15 19:29:11 2013 +0000

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java    | 61 +++++++++++++---
 .../ComponentFactoryRegistrarDefault.java       |  4 +-
 .../ComponentFactoryRegistryDefault.java        |  5 ++
 .../isis/viewer/wicket/ui/ComponentFactory.java |  3 +
 .../wicket/ui/ComponentFactoryAbstract.java     | 37 ++++++++--
 .../app/registry/ComponentFactoryRegistry.java  |  3 +
 .../ui/components/about/AboutPanelFactory.java  |  6 +-
 .../actionlink/ActionLinkPanelFactory.java      |  4 +-
 .../actions/ActionInfoPanelFactory.java         |  2 +-
 .../components/actions/ActionPanelFactory.java  |  4 +-
 .../ActionParametersFormPanelFactory.java       |  3 +-
 .../additionallinks/AdditionalLinksPanel.css    |  1 +
 .../additionallinks/AdditionalLinksPanel.java   | 15 +++-
 .../BookmarkedPagesPanelFactory.java            |  4 +-
 .../collection/CollectionPanelFactory.java      |  2 +-
 ...llectionContentsAsAjaxTablePanelFactory.java |  4 +-
 .../CollectionContentsAsIconsPanelFactory.java  |  2 +-
 ...ectionContentsLinksSelectorPanelFactory.java |  6 +-
 .../CollectionContentsAsSummaryFactory.java     |  5 +-
 ...lectionContentsAsUnresolvedPanelFactory.java |  2 +-
 .../empty/EmptyCollectionPanelFactory.java      |  2 +-
 .../entity/EntityComponentFactoryAbstract.java  |  8 +--
 .../EntityCollectionsPanelFactory.java          |  2 +-
 .../combined/EntityCombinedPanelFactory.java    |  2 +-
 .../entity/header/EntityHeaderPanelFactory.java |  2 +-
 .../EntityIconAndTitlePanelFactory.java         |  2 +-
 .../EntityPropertiesPanelFactory.java           |  2 +-
 .../links/EntityLinksSelectorPanelFactory.java  |  5 +-
 .../scalars/ComponentFactoryScalarAbstract.java | 15 +++-
 .../scalars/image/JavaAwtImagePanelFactory.java |  2 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.css  | 57 +--------------
 .../isisapplib/IsisBlobOrClobPanelAbstract.java |  5 --
 .../scalars/isisapplib/IsisBlobPanel.css        | 75 ++++++++++++++++++++
 .../isisapplib/IsisBlobPanelFactory.java        |  5 +-
 .../scalars/isisapplib/IsisClobPanel.css        | 19 +++++
 .../isisapplib/IsisClobPanelFactory.java        |  5 +-
 .../isisapplib/IsisColorPanelFactory.java       |  2 +-
 .../isisapplib/IsisDatePanelFactory.java        |  2 +-
 .../isisapplib/IsisDateTimePanelFactory.java    |  2 +-
 .../isisapplib/IsisMoneyPanelFactory.java       |  2 +-
 .../isisapplib/IsisPasswordPanelFactory.java    |  2 +-
 .../isisapplib/IsisPercentagePanelFactory.java  |  2 +-
 .../isisapplib/IsisTimePanelFactory.java        |  2 +-
 .../isisapplib/IsisTimeStampPanelFactory.java   |  2 +-
 .../jdkdates/JavaSqlDatePanelFactory.java       |  2 +-
 .../jdkdates/JavaSqlTimePanelFactory.java       |  2 +-
 .../jdkdates/JavaUtilDatePanelFactory.java      |  2 +-
 .../jdkmath/JavaMathBigDecimalPanelFactory.java |  2 +-
 .../jdkmath/JavaMathBigIntegerPanelFactory.java |  2 +-
 .../jodatime/JodaDateTimePanelFactory.java      |  2 +-
 .../jodatime/JodaLocalDatePanelFactory.java     |  2 +-
 .../jodatime/JodaLocalDateTimePanelFactory.java |  2 +-
 .../scalars/primitive/BooleanPanelFactory.java  |  2 +-
 .../scalars/primitive/BytePanelFactory.java     |  2 +-
 .../primitive/CharacterPanelFactory.java        |  2 +-
 .../scalars/primitive/DoublePanelFactory.java   |  2 +-
 .../scalars/primitive/FloatPanelFactory.java    |  2 +-
 .../scalars/primitive/IntegerPanelFactory.java  |  2 +-
 .../scalars/primitive/LongPanelFactory.java     |  2 +-
 .../scalars/primitive/ShortPanelFactory.java    |  2 +-
 .../reference/ReferencePanelFactory.java        |  2 +-
 .../scalars/string/StringPanelFactory.java      |  7 +-
 .../scalars/value/ValuePanelFactory.java        |  2 +-
 .../unknown/UnknownModelPanelFactory.java       |  8 ++-
 .../value/StandaloneValuePanelFactory.java      |  2 +-
 .../voidreturn/VoidReturnPanelFactory.java      |  2 +-
 .../components/welcome/WelcomePanelFactory.java |  2 +-
 .../widgets/buttons/ContainedButtonPanel.java   | 13 ++++
 .../widgets/buttons/ToggleButtonsPanel.java     | 14 ++++
 .../checkbox/ContainedToggleboxPanel.java       | 13 ++++
 .../cssmenu/CssMenuItemPanelAbstract.java       | 12 ++++
 .../widgets/cssmenu/CssMenuPanel.java           | 11 +++
 ...alueChoicesSelect2PanelComponentFactory.java | 55 --------------
 .../ValueChoicesSelect2PanelFactory.java        | 55 ++++++++++++++
 .../viewer/wicket/ui/panels/PanelAbstract.java  | 25 ++++---
 .../isis/viewer/wicket/ui/panels/PanelUtil.java | 37 +++++++++-
 .../links/LinksSelectorPanelAbstract.java       |  7 --
 .../wicket/ui/tabs/TabbedPanelAbstract.java     |  3 +-
 78 files changed, 487 insertions(+), 212 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index c390dbb..1b97d1d 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -20,18 +20,21 @@
 package org.apache.isis.viewer.wicket.viewer;
 
 import java.util.Collection;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.ServiceLoader;
+import java.util.Set;
 
 import javax.servlet.ServletContext;
 
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
 import com.google.inject.Guice;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
 import com.google.inject.Module;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.wicket.Application;
 import org.apache.wicket.ConverterLocator;
 import org.apache.wicket.IConverterLocator;
@@ -40,10 +43,15 @@ import org.apache.wicket.RuntimeConfigurationType;
 import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication;
 import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
 import org.apache.wicket.guice.GuiceComponentInjector;
+import org.apache.wicket.markup.html.IPackageResourceGuard;
+import org.apache.wicket.markup.html.SecurePackageResourceGuard;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.Response;
+import org.apache.wicket.request.resource.CssResourceReference;
 import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
@@ -57,10 +65,6 @@ import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderCl
 import org.apache.isis.core.commons.resource.ResourceStreamSourceCurrentClassClassPath;
 import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.facets.actions.homepage.HomePageFacet;
-import org.apache.isis.core.metamodel.services.ServiceUtil;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
 import org.apache.isis.core.runtime.runner.IsisInjectModule;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -78,10 +82,15 @@ import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAccessor;
+import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuItem;
+import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuPanel;
+import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssSubMenuItemsPanel;
 import org.apache.isis.viewer.wicket.ui.pages.BookmarkedPagesModelProvider;
+import org.apache.isis.viewer.wicket.ui.pages.PageAbstract;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassList;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
+import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
 import org.apache.isis.viewer.wicket.viewer.integration.isis.DeploymentTypeWicketAbstract;
 import org.apache.isis.viewer.wicket.viewer.integration.isis.WicketServer;
 import org.apache.isis.viewer.wicket.viewer.integration.isis.WicketServerPrototype;
@@ -200,7 +209,7 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
     protected void init() {
         try {
             super.init();
-    
+            
             final String webInfDir = getServletContext().getRealPath("/WEB-INF");
             loggingConfigurer.configureLogging(webInfDir, new String[0]);
     
@@ -224,6 +233,17 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
             this.bookmarkedPagesModel = new BookmarkedPagesModel();
     
             initWicketComponentInjection(injector);
+
+            // must be done after injected componentFactoryRegistry into the app itself
+            buildCssBundle();
+
+            IPackageResourceGuard guard = getResourceSettings().getPackageResourceGuard();
+            if (guard instanceof SecurePackageResourceGuard)
+            {
+                SecurePackageResourceGuard secureGuard = (SecurePackageResourceGuard) guard;
+                secureGuard.addPattern("+org/apache/wicket/merged-resources");
+            }
+            
         } catch(RuntimeException ex) {
             // because Wicket's handling in its WicketFilter (that calls this method) does not log the exception.
             LOG.error("Failed to initialize", ex);
@@ -231,7 +251,32 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         }
 
     }
-    
+
+    private void buildCssBundle() {
+        final Set<CssResourceReference> references = cssResourceReferencesForAllComponents();
+        getResourceBundles().addCssBundle(
+                IsisWicketApplication.class, "isis-wicket-viewer-bundle.css", 
+                references.toArray(new CssResourceReference[]{}));
+    }
+
+    private final static Function<ComponentFactory, Iterable<CssResourceReference>> getCssResourceReferences = 
+            new Function<ComponentFactory, Iterable<CssResourceReference>>(){
+                @Override
+                public Iterable<CssResourceReference> apply(final ComponentFactory input) {
+                   return input.getCssResourceReferences();
+                }
+             };
+
+    private Set<CssResourceReference> cssResourceReferencesForAllComponents() {
+        Collection<ComponentFactory> componentFactories = getComponentFactoryRegistry().listComponentFactories();
+        return Sets.newLinkedHashSet(
+                Iterables.concat(
+                        Iterables.transform(
+                                componentFactories, 
+                                getCssResourceReferences)));
+    }
+
+
     private void determineDeploymentTypeIfRequired() {
         if(deploymentType != null) {
             return;

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
index dd44a9d..91c3155 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
@@ -79,7 +79,7 @@ import org.apache.isis.viewer.wicket.ui.components.voidreturn.VoidReturnPanelFac
 import org.apache.isis.viewer.wicket.ui.components.welcome.WelcomePanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.widgets.entitylink.EntityLinkSelect2PanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.widgets.entitysimplelink.EntityLinkSimplePanelFactory;
-import org.apache.isis.viewer.wicket.ui.components.widgets.valuechoices.ValueChoicesSelect2PanelComponentFactory;
+import org.apache.isis.viewer.wicket.ui.components.widgets.valuechoices.ValueChoicesSelect2PanelFactory;
 
 /**
  * Default implementation of {@link ComponentFactoryRegistrar} that registers a
@@ -224,7 +224,7 @@ public class ComponentFactoryRegistrarDefault implements ComponentFactoryRegistr
         componentFactories.add(new ValuePanelFactory());
 
         // or for choices
-        componentFactories.add(new ValueChoicesSelect2PanelComponentFactory());
+        componentFactories.add(new ValueChoicesSelect2PanelFactory());
     }
 
     protected void addComponentFactoriesForEntityLink(final ComponentFactoryList componentFactories) {

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java
index 3ab0191..e1d6058 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java
@@ -168,4 +168,9 @@ public class ComponentFactoryRegistryDefault implements ComponentFactoryRegistry
         return iterator.hasNext() ? iterator.next() : null;
     }
 
+    @Override
+    public Collection<ComponentFactory> listComponentFactories() {
+        return componentFactoriesByType.values();
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactory.java
index aa06dc0..f4c189e 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactory.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
 
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 
@@ -101,4 +102,6 @@ public interface ComponentFactory extends Serializable {
      */
     String getName();
 
+    Iterable<CssResourceReference> getCssResourceReferences();
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java
index 677a9a7..422daa3 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java
@@ -19,8 +19,13 @@
 
 package org.apache.isis.viewer.wicket.ui;
 
+import java.util.Collections;
+
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
 
 /**
  * Adapter implementation for {@link ComponentFactory}.
@@ -32,14 +37,21 @@ public abstract class ComponentFactoryAbstract implements ComponentFactory {
     private final ComponentType componentType;
     private final String name;
 
-    public ComponentFactoryAbstract(final ComponentType componentType) {
-        this.componentType = componentType;
-        this.name = getClass().getSimpleName();
+    private final Class<?>[] cssClasses;
+
+    public ComponentFactoryAbstract(final ComponentType componentType, @SuppressWarnings("rawtypes") Class... classes) {
+        this(componentType, null, classes);
     }
 
-    public ComponentFactoryAbstract(final ComponentType componentType, final String name) {
+    public ComponentFactoryAbstract(final ComponentType componentType, final String name, @SuppressWarnings("rawtypes") Class... cssClasses) {
         this.componentType = componentType;
-        this.name = name;
+        this.name = name != null ? name : getClass().getSimpleName();
+        for (Class<?> cls : cssClasses) {
+            if(ComponentFactory.class.isAssignableFrom(cls)) {
+                throw new IllegalArgumentException("specified a ComponentFactory as a cssClass... you probably meant the component instead? cls = " + cls.getName());
+            }
+        }
+        this.cssClasses = cssClasses;
     }
 
     @Override
@@ -90,4 +102,19 @@ public abstract class ComponentFactoryAbstract implements ComponentFactory {
         return name;
     }
 
+    @Override
+    public Iterable<CssResourceReference> getCssResourceReferences() {
+        if (cssClasses!=null && cssClasses.length>0) {
+            return cssResourceReferencesFor(cssClasses);
+        } else {
+            return Collections.<CssResourceReference>emptyList();
+        }
+    }
+
+    @SuppressWarnings("rawtypes")
+    private static Iterable<CssResourceReference> cssResourceReferencesFor(
+            final Class... classes) {
+        return PanelUtil.cssResourceReferencesFor(classes);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistry.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistry.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistry.java
index 6150ab9..f037378 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistry.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/registry/ComponentFactoryRegistry.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.viewer.wicket.ui.app.registry;
 
+import java.util.Collection;
 import java.util.List;
 
 import org.apache.wicket.Component;
@@ -81,4 +82,6 @@ public interface ComponentFactoryRegistry {
 
     ComponentFactory findComponentFactoryElseFailFast(ComponentType componentType, IModel<?> model);
 
+    Collection<ComponentFactory> listComponentFactories();
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanelFactory.java
index 8a92ef7..91775d9 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanelFactory.java
@@ -21,10 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.about;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
 
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
+import org.apache.isis.viewer.wicket.ui.components.entity.selector.links.EntityLinksSelectorPanel;
+import org.apache.isis.viewer.wicket.ui.selector.links.LinksSelectorPanelAbstract;
 
 /**
  * {@link ComponentFactory} for {@link AboutPanel}.
@@ -34,7 +37,7 @@ public class AboutPanelFactory extends ComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public AboutPanelFactory() {
-        super(ComponentType.ABOUT);
+        super(ComponentType.ABOUT, AboutPanel.class);
     }
 
     @Override
@@ -47,4 +50,5 @@ public class AboutPanelFactory extends ComponentFactoryAbstract {
         return new AboutPanel(id);
     }
 
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanelFactory.java
index ea02753..29229e8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanelFactory.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.actionlink;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
 
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.viewer.wicket.model.models.ActionModel;
@@ -36,7 +37,7 @@ public class ActionLinkPanelFactory extends ComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public ActionLinkPanelFactory() {
-        super(ComponentType.ACTION_LINK);
+        super(ComponentType.ACTION_LINK, ActionLinkPanel.class);
     }
 
     @Override
@@ -55,4 +56,5 @@ public class ActionLinkPanelFactory extends ComponentFactoryAbstract {
         return new ActionLinkPanel(id, actionModel);
     }
 
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionInfoPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionInfoPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionInfoPanelFactory.java
index 6c847f8..ffc7094 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionInfoPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionInfoPanelFactory.java
@@ -35,7 +35,7 @@ public class ActionInfoPanelFactory extends ComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public ActionInfoPanelFactory() {
-        super(ComponentType.ACTION_INFO);
+        super(ComponentType.ACTION_INFO, ActionInfoPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanelFactory.java
index fc44927..ab6db1d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanelFactory.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.actions;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
 
 import org.apache.isis.viewer.wicket.model.models.ActionModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
@@ -35,7 +36,7 @@ public class ActionPanelFactory extends ComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public ActionPanelFactory() {
-        super(ComponentType.ACTION);
+        super(ComponentType.ACTION, ActionPanel.class);
     }
 
     @Override
@@ -48,4 +49,5 @@ public class ActionPanelFactory extends ComponentFactoryAbstract {
         final ActionModel actionModel = (ActionModel) model;
         return new ActionPanel(id, actionModel);
     }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanelFactory.java
index 95229f0..bb515d0 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanelFactory.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.actions;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
 
 import org.apache.isis.viewer.wicket.model.models.ActionModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
@@ -35,7 +36,7 @@ public class ActionParametersFormPanelFactory extends ComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public ActionParametersFormPanelFactory() {
-        super(ComponentType.PARAMETERS);
+        super(ComponentType.PARAMETERS, ActionParametersFormPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
index eaeea17..9f1612a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.css
@@ -16,3 +16,4 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
+

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
index bdc28ae..5ca5b67 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/additionallinks/AdditionalLinksPanel.java
@@ -22,6 +22,7 @@ package org.apache.isis.viewer.wicket.ui.components.additionallinks;
 import java.util.List;
 
 import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.AbstractLink;
@@ -31,7 +32,9 @@ import org.apache.wicket.markup.html.list.ListView;
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.links.ListOfLinksModel;
+import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
 
 /**
@@ -92,5 +95,15 @@ public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
         };
         container.addOrReplace(listView);
     }
-    
+
+    /**
+     * Because there is no {@link ComponentFactory} for this component,
+     * its CSS must be contributed in this way instead (also meaning its CSS is not bundled).
+     */
+    @Override
+    public void renderHead(final IHeaderResponse response) {
+        PanelUtil.renderHead(response, this.getClass());
+    }
+
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanelFactory.java
index 007ebcd..09b7640 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanelFactory.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.bookmarkedpages;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
 
 import org.apache.isis.viewer.wicket.model.models.BookmarkedPagesModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
@@ -31,7 +32,7 @@ public class BookmarkedPagesPanelFactory extends ComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public BookmarkedPagesPanelFactory() {
-        super(ComponentType.BOOKMARKED_PAGES);
+        super(ComponentType.BOOKMARKED_PAGES, BookmarkedPagesPanel.class);
     }
 
     @Override
@@ -44,4 +45,5 @@ public class BookmarkedPagesPanelFactory extends ComponentFactoryAbstract {
         final BookmarkedPagesModel bookmarkedPagesModel = (BookmarkedPagesModel) model;
         return new BookmarkedPagesPanel(id, bookmarkedPagesModel);
     }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanelFactory.java
index 91b3c25..9a9f6e2 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanelFactory.java
@@ -37,7 +37,7 @@ public class CollectionPanelFactory extends ComponentFactoryAbstract {
     private static final String NAME = "labelled";
 
     public CollectionPanelFactory() {
-        super(ComponentType.COLLECTION_NAME_AND_CONTENTS, NAME);
+        super(ComponentType.COLLECTION_NAME_AND_CONTENTS, NAME, CollectionPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
index 777aa4a..fbb735d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
@@ -37,7 +37,7 @@ public class CollectionContentsAsAjaxTablePanelFactory extends ComponentFactoryA
     private static final String NAME = "table";
 
     public CollectionContentsAsAjaxTablePanelFactory() {
-        super(ComponentType.COLLECTION_CONTENTS, NAME);
+        super(ComponentType.COLLECTION_CONTENTS, NAME, CollectionContentsAsAjaxTablePanel.class);
     }
 
     @Override
@@ -50,4 +50,6 @@ public class CollectionContentsAsAjaxTablePanelFactory extends ComponentFactoryA
         final EntityCollectionModel collectionModel = (EntityCollectionModel) model;
         return new CollectionContentsAsAjaxTablePanel(id, collectionModel);
     }
+    
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
index 3503f32..7ff4325 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
@@ -39,7 +39,7 @@ public class CollectionContentsAsIconsPanelFactory extends ComponentFactoryAbstr
     private static final String NAME = "icons";
 
     public CollectionContentsAsIconsPanelFactory() {
-        super(ComponentType.COLLECTION_CONTENTS, NAME);
+        super(ComponentType.COLLECTION_CONTENTS, NAME, CollectionContentsAsIconsPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanelFactory.java
index 1a940d9..7e090da 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/selector/links/CollectionContentsLinksSelectorPanelFactory.java
@@ -21,11 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.collectioncontents.selector.
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.CssResourceReference;
 
 import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
+import org.apache.isis.viewer.wicket.ui.selector.links.LinksSelectorPanelAbstract;
 
 /**
  * {@link ComponentFactory} for {@link CollectionContentsLinksSelectorPanel}.
@@ -39,7 +41,8 @@ public class CollectionContentsLinksSelectorPanelFactory extends ComponentFactor
     private static final long serialVersionUID = 1L;
 
     public CollectionContentsLinksSelectorPanelFactory() {
-        super(ComponentType.COLLECTION_CONTENTS);
+        super(ComponentType.COLLECTION_CONTENTS, 
+                CollectionContentsLinksSelectorPanel.class, LinksSelectorPanelAbstract.class);
     }
 
     @Override
@@ -52,4 +55,5 @@ public class CollectionContentsLinksSelectorPanelFactory extends ComponentFactor
         final EntityCollectionModel collectionModel = (EntityCollectionModel) model;
         return new CollectionContentsLinksSelectorPanel(id, collectionModel, this);
     }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
index 0d945ee..876b205 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
@@ -44,14 +44,15 @@ public class CollectionContentsAsSummaryFactory extends ComponentFactoryAbstract
     private static final String NAME = "summary";
 
     final static Filter<ObjectAssociation> OF_TYPE_BIGDECIMAL = new Filter<ObjectAssociation>(){
-
         public boolean accept(final ObjectAssociation objectAssoc) {
             ObjectSpecification objectSpec = objectAssoc.getSpecification();
             return objectSpec.containsDoOpFacet(BigDecimalValueFacet.class);
         }};
 
+    // //////////////////////////////////////
+
     public CollectionContentsAsSummaryFactory() {
-        super(ComponentType.COLLECTION_CONTENTS, NAME);
+        super(ComponentType.COLLECTION_CONTENTS, NAME, CollectionContentsAsSummary.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsAsUnresolvedPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsAsUnresolvedPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsAsUnresolvedPanelFactory.java
index 622d0b7..56a1ab9 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsAsUnresolvedPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsAsUnresolvedPanelFactory.java
@@ -37,7 +37,7 @@ public class CollectionContentsAsUnresolvedPanelFactory extends ComponentFactory
     private static final String NAME = "show...";
 
     public CollectionContentsAsUnresolvedPanelFactory() {
-        super(ComponentType.COLLECTION_CONTENTS, NAME);
+        super(ComponentType.COLLECTION_CONTENTS, NAME, CollectionContentsAsUnresolvedPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanelFactory.java
index e35d158..0fc2fde 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanelFactory.java
@@ -32,7 +32,7 @@ public class EmptyCollectionPanelFactory extends ComponentFactoryAbstract implem
     private static final long serialVersionUID = 1L;
 
     public EmptyCollectionPanelFactory() {
-        super(ComponentType.EMPTY_COLLECTION);
+        super(ComponentType.EMPTY_COLLECTION, EmptyCollectionPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
index c6cf9c9..be0e5c6 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
@@ -38,12 +38,12 @@ public abstract class EntityComponentFactoryAbstract extends ComponentFactoryAbs
 
     private static final long serialVersionUID = 1L;
 
-    public EntityComponentFactoryAbstract(final ComponentType componentType) {
-        super(componentType);
+    public EntityComponentFactoryAbstract(final ComponentType componentType, final @SuppressWarnings("rawtypes") Class... classes) {
+        super(componentType, classes);
     }
 
-    public EntityComponentFactoryAbstract(final ComponentType componentType, final String name) {
-        super(componentType, name);
+    public EntityComponentFactoryAbstract(final ComponentType componentType, final String name, final @SuppressWarnings("rawtypes") Class... classes) {
+        super(componentType, name, classes);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanelFactory.java
index cfc29f8..e2947a0 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanelFactory.java
@@ -35,7 +35,7 @@ public class EntityCollectionsPanelFactory extends EntityComponentFactoryAbstrac
     private static final long serialVersionUID = 1L;
 
     public EntityCollectionsPanelFactory() {
-        super(ComponentType.ENTITY_COLLECTIONS);
+        super(ComponentType.ENTITY_COLLECTIONS, EntityCollectionsPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanelFactory.java
index 3d61dcb..a42f062 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanelFactory.java
@@ -37,7 +37,7 @@ public class EntityCombinedPanelFactory extends EntityComponentFactoryAbstract {
     private static final String NAME = "combined";
 
     public EntityCombinedPanelFactory() {
-        super(ComponentType.ENTITY, NAME);
+        super(ComponentType.ENTITY, NAME, EntityCombinedPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java
index aa537b3..d9bef9b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java
@@ -35,7 +35,7 @@ public class EntityHeaderPanelFactory extends EntityComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public EntityHeaderPanelFactory() {
-        super(ComponentType.ENTITY_SUMMARY);
+        super(ComponentType.ENTITY_SUMMARY, EntityHeaderPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java
index b8cd9d5..9a2db9b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java
@@ -35,7 +35,7 @@ public class EntityIconAndTitlePanelFactory extends EntityComponentFactoryAbstra
     private static final long serialVersionUID = 1L;
 
     public EntityIconAndTitlePanelFactory() {
-        super(ComponentType.ENTITY_ICON_AND_TITLE);
+        super(ComponentType.ENTITY_ICON_AND_TITLE, EntityIconAndTitlePanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanelFactory.java
index 9976ed2..a236bd4 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanelFactory.java
@@ -35,7 +35,7 @@ public class EntityPropertiesPanelFactory extends EntityComponentFactoryAbstract
     private static final long serialVersionUID = 1L;
 
     public EntityPropertiesPanelFactory() {
-        super(ComponentType.ENTITY_PROPERTIES);
+        super(ComponentType.ENTITY_PROPERTIES, EntityPropertiesPanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
index 0f20bb5..615599a 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
@@ -26,6 +26,7 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
+import org.apache.isis.viewer.wicket.ui.selector.links.LinksSelectorPanelAbstract;
 
 /**
  * {@link ComponentFactory} for {@link EntityLinksSelectorPanel}.
@@ -39,7 +40,8 @@ public class EntityLinksSelectorPanelFactory extends EntityComponentFactoryAbstr
     private static final long serialVersionUID = 1L;
 
     public EntityLinksSelectorPanelFactory() {
-        super(ComponentType.ENTITY);
+        super(ComponentType.ENTITY, 
+                EntityLinksSelectorPanel.class, LinksSelectorPanelAbstract.class);
     }
 
     @Override
@@ -47,4 +49,5 @@ public class EntityLinksSelectorPanelFactory extends EntityComponentFactoryAbstr
         final EntityModel entityModel = (EntityModel) model;
         return new EntityLinksSelectorPanel(id, entityModel, this);
     }
+    
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java
index d7da4d6..db034e8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ComponentFactoryScalarAbstract.java
@@ -19,6 +19,9 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars;
 
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
 
@@ -32,8 +35,16 @@ public abstract class ComponentFactoryScalarAbstract extends ComponentFactoryAbs
 
     private final Class<?>[] scalarTypes;
 
-    public ComponentFactoryScalarAbstract(final Class<?>... scalarTypes) {
-        super(ComponentType.SCALAR_NAME_AND_VALUE);
+    public ComponentFactoryScalarAbstract(
+            final @SuppressWarnings("rawtypes") Class panelClass, 
+            final Class<?>... scalarTypes) {
+        this(Collections.singletonList(panelClass), scalarTypes);
+    }
+    
+    public ComponentFactoryScalarAbstract(
+            final @SuppressWarnings("rawtypes") List<Class> panelClasses, 
+            final Class<?>... scalarTypes) {
+        super(ComponentType.SCALAR_NAME_AND_VALUE, panelClasses.toArray(new Class[]{}));
         this.scalarTypes = scalarTypes;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanelFactory.java
index ea51984..c891fa9 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanelFactory.java
@@ -33,7 +33,7 @@ public class JavaAwtImagePanelFactory extends ComponentFactoryAbstract {
     private static final long serialVersionUID = 1L;
 
     public JavaAwtImagePanelFactory() {
-        super(ComponentType.SCALAR_NAME_AND_VALUE);
+        super(ComponentType.SCALAR_NAME_AND_VALUE, JavaAwtImagePanel.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
index 2ef6a93..1e56186 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
@@ -17,42 +17,7 @@
  *  under the License.
  */
 
-.isisBlobPanel .scalarValue span.downloadTitle,
-.isisBlobPanel .scalarValue span.uploadTitle,
-.isisBlobPanel .scalarValue span.clearTitle {
-    margin-right: 10px;
-    margin-bottom:10px;
-    float:left;
-    display:block;
-    border: 0px;
-    padding:5px 10px;
-    border-radius:4px;
-    -moz-border-radius:4px;
-    -webkit-border-radius:4px;
-    background-color:#FFFFFF;
-    color:#46413B;
-    font-style:normal !important;
-    text-transform: uppercase;
-    font-size: 0.9em;
-}
-
-.isisBlobPanel .scalarValue a span.downloadTitle,
-.isisBlobPanel .scalarValue span.uploadTitle,
-.isisBlobPanel .scalarValue a span.clearTitle {
-    background-color:#F0EFEA;
-    text-decoration:none;
-}
- 
-.isisBlobPanel .scalarValue a:hover span.downloadTitle,
-.isisBlobPanel .scalarValue span.uploadTitle:hover,
-.isisBlobPanel .scalarValue span.uploadTitle input:hover,
-.isisBlobPanel .scalarValue a:hover span.clearTitle {
-	background-color:#40C0CB;
-	color: white;
-    text-decoration:none;
-    cursor: pointer;
-}
- 
+/* REVIEW: what is this, exactly */ 
 .yourBtn{
    position: relative;
        top: 150px;
@@ -67,23 +32,3 @@
    cursor:pointer;
 }
 
-
-.isisBlobPanel .scalarValue {
-	height: 30px;
-	line-height: 30px;
-}
-
-.isisBlobPanel .scalarValue span.uploadTitle,
-.isisBlobPanel .scalarValue span.downloadTitle,
-.isisBlobPanel .scalarValue span.clearTitle {
-    padding-top: 0px;
-    padding-bottom: 0px;
-    font-weight: bold;
-}
-
-
-.isisBlobPanel .scalarImage {
-	float:left;
-	margin-right: 10px;
-	margin-bottom: 10px;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 9553548..cbeed95 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -162,11 +162,6 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
     }
 
     @Override
-    protected void renderHead(IHeaderResponse response, Class<?> cls) {
-        super.renderHead(response, IsisBlobOrClobPanelAbstract.class); // don't use the subclass
-    }
-
-    @Override
     protected Component addComponentForCompact() {
         final MarkupContainer scalarIfCompact = new WebMarkupContainer(ID_SCALAR_IF_COMPACT);
         updateDownloadLink(ID_SCALAR_IF_COMPACT_DOWNLOAD, scalarIfCompact);

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css
new file mode 100644
index 0000000..687919b
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css
@@ -0,0 +1,75 @@
+/*
+ *  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.
+ */
+
+.isisBlobPanel .scalarValue span.downloadTitle,
+.isisBlobPanel .scalarValue span.uploadTitle,
+.isisBlobPanel .scalarValue span.clearTitle {
+    margin-right: 10px;
+    margin-bottom:10px;
+    float:left;
+    display:block;
+    border: 0px;
+    padding:5px 10px;
+    border-radius:4px;
+    -moz-border-radius:4px;
+    -webkit-border-radius:4px;
+    background-color:#FFFFFF;
+    color:#46413B;
+    font-style:normal !important;
+    text-transform: uppercase;
+    font-size: 0.9em;
+}
+
+.isisBlobPanel .scalarValue a span.downloadTitle,
+.isisBlobPanel .scalarValue span.uploadTitle,
+.isisBlobPanel .scalarValue a span.clearTitle {
+    background-color:#F0EFEA;
+    text-decoration:none;
+}
+ 
+.isisBlobPanel .scalarValue a:hover span.downloadTitle,
+.isisBlobPanel .scalarValue span.uploadTitle:hover,
+.isisBlobPanel .scalarValue span.uploadTitle input:hover,
+.isisBlobPanel .scalarValue a:hover span.clearTitle {
+	background-color:#40C0CB;
+	color: white;
+    text-decoration:none;
+    cursor: pointer;
+}
+ 
+
+.isisBlobPanel .scalarValue {
+	height: 30px;
+	line-height: 30px;
+}
+
+.isisBlobPanel .scalarValue span.uploadTitle,
+.isisBlobPanel .scalarValue span.downloadTitle,
+.isisBlobPanel .scalarValue span.clearTitle {
+    padding-top: 0px;
+    padding-bottom: 0px;
+    font-weight: bold;
+}
+
+
+.isisBlobPanel .scalarImage {
+	float:left;
+	margin-right: 10px;
+	margin-bottom: 10px;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanelFactory.java
index ca695a2..9c099b6 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanelFactory.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import com.google.common.collect.Lists;
+
 import org.apache.wicket.Component;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -33,7 +35,8 @@ public class IsisBlobPanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisBlobPanelFactory() {
-        super(org.apache.isis.applib.value.Blob.class);
+        super(Lists.<Class>newArrayList(IsisBlobPanel.class, IsisBlobOrClobPanelAbstract.class), org.apache.isis.applib.value.Blob.class);
+        //super(IsisBlobPanel.class, org.apache.isis.applib.value.Blob.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanel.css
new file mode 100644
index 0000000..9f1612a
--- /dev/null
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanel.css
@@ -0,0 +1,19 @@
+/*
+ *  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.
+ */
+

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanelFactory.java
index 2d30764..99061f0 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisClobPanelFactory.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
+import com.google.common.collect.Lists;
+
 import org.apache.wicket.Component;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -33,7 +35,8 @@ public class IsisClobPanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisClobPanelFactory() {
-        super(org.apache.isis.applib.value.Clob.class);
+        super(Lists.<Class>newArrayList(IsisClobPanel.class, IsisBlobOrClobPanelAbstract.class), org.apache.isis.applib.value.Clob.class);
+        //super(IsisClobPanel.class, org.apache.isis.applib.value.Clob.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanelFactory.java
index 5a257e9..9814332 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanelFactory.java
@@ -33,7 +33,7 @@ public class IsisColorPanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisColorPanelFactory() {
-        super(org.apache.isis.applib.value.Color.class);
+        super(IsisColorPanel.class, org.apache.isis.applib.value.Color.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanelFactory.java
index ecf5795..a008664 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanelFactory.java
@@ -33,7 +33,7 @@ public class IsisDatePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisDatePanelFactory() {
-        super(org.apache.isis.applib.value.Date.class);
+        super(IsisDatePanel.class, org.apache.isis.applib.value.Date.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanelFactory.java
index 559c249..ba2a3f5 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanelFactory.java
@@ -33,7 +33,7 @@ public class IsisDateTimePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisDateTimePanelFactory() {
-        super(org.apache.isis.applib.value.DateTime.class);
+        super(IsisDateTimePanel.class, org.apache.isis.applib.value.DateTime.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanelFactory.java
index 5bdb181..2ffceeb 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanelFactory.java
@@ -33,7 +33,7 @@ public class IsisMoneyPanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisMoneyPanelFactory() {
-        super(org.apache.isis.applib.value.Money.class);
+        super(IsisMoneyPanel.class, org.apache.isis.applib.value.Money.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanelFactory.java
index 9ca9854..e4b188d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanelFactory.java
@@ -33,7 +33,7 @@ public class IsisPasswordPanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisPasswordPanelFactory() {
-        super(org.apache.isis.applib.value.Password.class);
+        super(IsisPasswordPanel.class, org.apache.isis.applib.value.Password.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanelFactory.java
index 71828e3..80bf1d1 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanelFactory.java
@@ -33,7 +33,7 @@ public class IsisPercentagePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisPercentagePanelFactory() {
-        super(org.apache.isis.applib.value.Percentage.class);
+        super(IsisPercentagePanel.class, org.apache.isis.applib.value.Percentage.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanelFactory.java
index bb13ebf..d667484 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanelFactory.java
@@ -33,7 +33,7 @@ public class IsisTimePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisTimePanelFactory() {
-        super(org.apache.isis.applib.value.Time.class);
+        super(IsisTimePanel.class, org.apache.isis.applib.value.Time.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanelFactory.java
index d60ad6c..6d0fca9 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanelFactory.java
@@ -33,7 +33,7 @@ public class IsisTimeStampPanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public IsisTimeStampPanelFactory() {
-        super(org.apache.isis.applib.value.TimeStamp.class);
+        super(IsisTimeStampPanel.class, org.apache.isis.applib.value.TimeStamp.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanelFactory.java
index d4b5d15..467f7a8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanelFactory.java
@@ -33,7 +33,7 @@ public class JavaSqlDatePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public JavaSqlDatePanelFactory() {
-        super(java.sql.Date.class);
+        super(JavaSqlDatePanel.class, java.sql.Date.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanelFactory.java
index 8f1f45f..2334d92 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanelFactory.java
@@ -33,7 +33,7 @@ public class JavaSqlTimePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public JavaSqlTimePanelFactory() {
-        super(java.util.Date.class);
+        super(JavaSqlTimePanel.class, java.util.Date.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanelFactory.java
index f738b2d..95ad764 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanelFactory.java
@@ -33,7 +33,7 @@ public class JavaUtilDatePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public JavaUtilDatePanelFactory() {
-        super(java.util.Date.class);
+        super(JavaUtilDatePanel.class, java.util.Date.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanelFactory.java
index 5f738a9..bfe6bb9 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanelFactory.java
@@ -33,7 +33,7 @@ public class JavaMathBigDecimalPanelFactory extends ComponentFactoryScalarAbstra
     private static final long serialVersionUID = 1L;
 
     public JavaMathBigDecimalPanelFactory() {
-        super(java.math.BigDecimal.class);
+        super(JavaMathBigDecimalPanel.class, java.math.BigDecimal.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanelFactory.java
index 00407bc..c047520 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanelFactory.java
@@ -33,7 +33,7 @@ public class JavaMathBigIntegerPanelFactory extends ComponentFactoryScalarAbstra
     private static final long serialVersionUID = 1L;
 
     public JavaMathBigIntegerPanelFactory() {
-        super(java.math.BigInteger.class);
+        super(JavaMathBigIntegerPanel.class, java.math.BigInteger.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanelFactory.java
index 1e6be55..79983f1 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanelFactory.java
@@ -34,7 +34,7 @@ public class JodaDateTimePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public JodaDateTimePanelFactory() {
-        super(DateTime.class);
+        super(JodaDateTimePanel.class, DateTime.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanelFactory.java
index a9af024..533b8ad 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanelFactory.java
@@ -34,7 +34,7 @@ public class JodaLocalDatePanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public JodaLocalDatePanelFactory() {
-        super(LocalDate.class);
+        super(JodaLocalDatePanel.class, LocalDate.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanelFactory.java
index 370618d..3772b26 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanelFactory.java
@@ -34,7 +34,7 @@ public class JodaLocalDateTimePanelFactory extends ComponentFactoryScalarAbstrac
     private static final long serialVersionUID = 1L;
 
     public JodaLocalDateTimePanelFactory() {
-        super(LocalDateTime.class);
+        super(JodaLocalDateTimePanel.class, LocalDateTime.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/bf4af4ec/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanelFactory.java
index dd91b31..cbf38c7 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanelFactory.java
@@ -33,7 +33,7 @@ public class BooleanPanelFactory extends ComponentFactoryScalarAbstract {
     private static final long serialVersionUID = 1L;
 
     public BooleanPanelFactory() {
-        super(boolean.class, Boolean.class);
+        super(BooleanPanel.class, boolean.class, Boolean.class);
     }
 
     @Override