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 2016/06/16 10:42:01 UTC

[10/50] [abbrv] isis git commit: ISIS-1427: simplifying IsisContext and minimizing calls to it; also removed Localization (unused)

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
index 040d681..3f31d1d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
@@ -446,7 +446,7 @@ class CssMenuItem implements Serializable {
     // //////////////////////////////////////////////////////////////
 
     protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
index 8014142..48858e8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
@@ -315,7 +315,7 @@ public class ActionPanel extends PanelAbstract<ActionModel> implements Executing
             // recognized
             raiseWarning(target, feedbackForm, recognizedErrorIfAny);
 
-            getTransactionManager().getTransaction().clearAbortCause();
+            getTransactionManager().getCurrentTransaction().clearAbortCause();
             
             // there's no need to abort the transaction, it will have already been done
             // (in IsisTransactionManager#executeWithinTransaction(...)).
@@ -338,7 +338,7 @@ public class ActionPanel extends PanelAbstract<ActionModel> implements Executing
     ///////////////////////////////////////////////////////
     
     protected IsisTransactionManager getTransactionManager() {
-        return IsisContext.getTransactionManager();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager();
     }
 
     protected MessageBroker getMessageBroker() {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
index 5110b73..0fc3988 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
@@ -233,7 +233,7 @@ public class BookmarkedPagesPanel extends PanelAbstract<BookmarkedPagesModel> {
 
     
     protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
+        return IsisContext.getSessionFactory().getSpecificationLoader();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsHelper.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsHelper.java
index db9888a..c12a9e0 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsHelper.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsHelper.java
@@ -81,10 +81,10 @@ public class BulkActionsHelper implements Serializable {
     //region > from context
 
     public boolean isExploring() {
-        return IsisContext.getDeploymentCategory().isExploring();
+        return IsisContext.getSessionFactory().getDeploymentCategory().isExploring();
     }
     public boolean isPrototyping() {
-        return IsisContext.getDeploymentCategory().isPrototyping();
+        return IsisContext.getSessionFactory().getDeploymentCategory().isPrototyping();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
index eada635..916dfff 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
@@ -240,7 +240,7 @@ public final class BulkActionsLinkFactory implements ActionLinkFactory {
     }
 
     protected ServicesInjector getServicesInjector() {
-        return IsisContext.getPersistenceSession().getServicesInjector();
+        return IsisContext.getSessionFactory().getServicesInjector();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
index 5fdad19..7f59d6b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
@@ -187,11 +187,11 @@ public class CollectionContentsSortableDataProvider extends SortableDataProvider
     // //////////////////////////////////////
 
     protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
     protected DeploymentCategory getDeploymentCategory() {
-        return IsisContext.getDeploymentCategory();
+        return IsisContext.getSessionFactory().getDeploymentCategory();
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
index ab4ec32..e392271 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
@@ -283,7 +283,7 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel>
             // recognized
             raiseWarning(target, feedbackForm, recognizedErrorIfAny);
 
-            getTransactionManager().getTransaction().clearAbortCause();
+            getTransactionManager().getCurrentTransaction().clearAbortCause();
             
             // there's no need to abort the transaction, it will have already been done
             // (in IsisTransactionManager#executeWithinTransaction(...)).
@@ -306,7 +306,7 @@ public class PropertyEditPanel extends PanelAbstract<ScalarModel>
     ///////////////////////////////////////////////////////
     
     protected IsisTransactionManager getTransactionManager() {
-        return IsisContext.getTransactionManager();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager();
     }
 
     protected MessageBroker getMessageBroker() {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
index fef3e39..45c3c1b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
@@ -21,10 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
 
 import java.io.Serializable;
 
-import com.google.inject.Inject;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
@@ -139,7 +135,7 @@ public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializa
     }
 
     
-    @Inject
+    @com.google.inject.Inject
     private WicketViewerSettings settings;
     protected WicketViewerSettings getSettings() {
         return settings;

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java
index d00f735..4aa083f 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/datepicker/TextFieldWithDateTimePicker.java
@@ -157,7 +157,7 @@ public class TextFieldWithDateTimePicker<T> extends TextField<T> implements ICon
     }
 
     IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index fea7da6..65c80e6 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -24,9 +24,6 @@ import java.util.List;
 import javax.inject.Inject;
 
 import com.google.common.collect.Lists;
-import org.wicketstuff.select2.ChoiceProvider;
-import org.wicketstuff.select2.Select2Choice;
-import org.wicketstuff.select2.Settings;
 
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
@@ -39,6 +36,9 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
+import org.wicketstuff.select2.ChoiceProvider;
+import org.wicketstuff.select2.Select2Choice;
+import org.wicketstuff.select2.Settings;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -525,13 +525,15 @@ public class ReferencePanel extends ScalarPanelAbstract {
         return autoCompleteFacet != null;
     }
 
-
     @Inject
     private WicketViewerSettings wicketViewerSettings;
 
+    // REVIEW: can't inject because IsisConfiguration not serializable.
     IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
index b3e5e94..4416c82 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbModel.java
@@ -150,7 +150,7 @@ public class BreadcrumbModel implements Serializable {
 
 
     protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
+        return IsisContext.getSessionFactory().getOidMarshaller();
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
index 8b65cfc..3025ad5 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
@@ -33,7 +33,6 @@ import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
-import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAccessor;
@@ -44,8 +43,7 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
  * Wicket {@link FormComponentPanel}, providing the ability to build up the
  * panel using other {@link ComponentType}s.
  */
-public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T>
-        implements PersistenceSessionProvider {
+public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T>  {
 
     private static final long serialVersionUID = 1L;
 
@@ -134,20 +132,19 @@ public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T
      * @return
      */
     public AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
     public DeploymentCategory getDeploymentCategory() {
-        return IsisContext.getDeploymentCategory();
+        return IsisContext.getSessionFactory().getDeploymentCategory();
     }
 
     // ///////////////////////////////////////////////////////////////////
     // Dependencies (from IsisContext)
     // ///////////////////////////////////////////////////////////////////
 
-    @Override
     public PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     protected List<ObjectAdapter> getServices() {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
index 1a556f4..e22639f 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
@@ -234,6 +234,6 @@ public class ThemeChooser extends Panel {
     }
 
     private IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
index 45965f6..0620b0d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/JGrowlBehaviour.java
@@ -75,7 +75,7 @@ public class JGrowlBehaviour extends AbstractDefaultAjaxBehavior {
 
 
     protected MessageBroker getMessageBroker() {
-        return IsisContext.getAuthenticationSession().getMessageBroker();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession().getMessageBroker();
     }
     
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index 1de0f9c..8e19bb8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -24,7 +24,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 
-import com.google.inject.Inject;
 import com.google.inject.name.Named;
 
 import org.apache.wicket.Component;
@@ -58,11 +57,11 @@ import org.slf4j.LoggerFactory;
 import org.apache.isis.applib.services.exceprecog.ExceptionRecognizer;
 import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerComposite;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.viewer.wicket.model.common.PageParametersUtils;
 import org.apache.isis.viewer.wicket.model.hints.IsisEnvelopeEvent;
 import org.apache.isis.viewer.wicket.model.hints.IsisEventLetterAbstract;
@@ -129,32 +128,33 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
     private final List<ComponentType> childComponentIds;
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     @Named("applicationName")
     private String applicationName;
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject(optional = true)
+    @com.google.inject.Inject(optional = true)
     @Named("applicationCss")
     private String applicationCss;
     
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      *///
-    @Inject(optional = true)
+    @com.google.inject.Inject(optional = true)
     @Named("applicationJs")
     private String applicationJs;
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     private PageClassRegistry pageClassRegistry;
 
+
     /**
      * Top-level &lt;div&gt; to which all content is added.
      *
@@ -417,37 +417,43 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
     }
     
 
-    // ///////////////////////////////////////////////////////////////////
-    // Convenience
-    // ///////////////////////////////////////////////////////////////////
 
+    //region > getComponentFactoryRegistry (Convenience)
     protected ComponentFactoryRegistry getComponentFactoryRegistry() {
         final ComponentFactoryRegistryAccessor cfra = (ComponentFactoryRegistryAccessor) getApplication();
         return cfra.getComponentFactoryRegistry();
     }
+    //endregion
+
 
-    protected <T> T lookupService(final Class<T> serviceClass) {
-        return getServicesInjector().lookupService(serviceClass);
+    //region > injected (application-scope) 
+
+    // REVIEW: can't inject because not serializable.
+    private IsisSessionFactory getSessionFactory() {
+        return IsisContext.getSessionFactory();
     }
 
-    // ///////////////////////////////////////////////////
-    // System components
-    // ///////////////////////////////////////////////////
+    protected IsisConfiguration getConfiguration() {
+        return getSessionFactory().getConfiguration();
+    }
 
     protected ServicesInjector getServicesInjector() {
-        return getPersistenceSession().getServicesInjector();
+        return getSessionFactory().getServicesInjector();
     }
 
+    //endregion
+
+    //region > derived from injected components (session-scope)
+
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
-    }
-    
-    protected IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
+    //endregion
+
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java
index 73bbe80..ccad2b9 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.pages.accmngt;
 
-import com.google.inject.Inject;
 import com.google.inject.name.Named;
 
 import org.apache.wicket.Application;
@@ -72,21 +71,20 @@ public class AccountManagementPageAbstract extends WebPage {
     /**
      * {@link com.google.inject.Inject}ed when {@link #init() initialized}.
      */
-    @Inject
-    @Named("applicationName")
+    @com.google.inject.Inject
     private String applicationName;
 
     /**
      * {@link com.google.inject.Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     @Named("applicationCss")
     private String applicationCss;
 
     /**
      * {@link com.google.inject.Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     @Named("applicationJs")
     private String applicationJs;
 
@@ -154,7 +152,7 @@ public class AccountManagementPageAbstract extends WebPage {
     // ///////////////////////////////////////////////////
 
     protected IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 
     @javax.inject.Inject

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
index f1e51e3..566471b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/EmailAvailableValidator.java
@@ -42,10 +42,11 @@ public class EmailAvailableValidator implements IValidator<String> {
 
     @Override
     public void validate(final IValidatable<String> validatable) {
-        IsisContext.doInSession(new Runnable() {
+        IsisContext.getSessionFactory().doInSession(new Runnable() {
             @Override
             public void run() {
-                UserRegistrationService userRegistrationService = IsisContext.getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class);
+                UserRegistrationService userRegistrationService = IsisContext.getSessionFactory().getCurrentSession()
+                        .getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class);
                 String email = validatable.getValue();
                 boolean emailExists1 = userRegistrationService.emailExists(email);
                 if (emailExists1 != emailExists) {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/UsernameAvailableValidator.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/UsernameAvailableValidator.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/UsernameAvailableValidator.java
index 35c1312..17e9313 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/UsernameAvailableValidator.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/UsernameAvailableValidator.java
@@ -36,10 +36,11 @@ public class UsernameAvailableValidator implements IValidator<String> {
 
     @Override
     public void validate(final IValidatable<String> validatable) {
-        IsisContext.doInSession(new Runnable() {
+        IsisContext.getSessionFactory().doInSession(new Runnable() {
             @Override
             public void run() {
-                UserRegistrationService userRegistrationService = IsisContext.getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class);
+                UserRegistrationService userRegistrationService = IsisContext.getSessionFactory().getCurrentSession()
+                        .getPersistenceSession().getServicesInjector().lookupServiceElseFail(UserRegistrationService.class);
                 String username = validatable.getValue();
                 boolean usernameExists = userRegistrationService.usernameExists(username);
                 if (usernameExists) {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
index ff5b913..2b04a3b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
@@ -73,10 +73,12 @@ public class PasswordResetPage extends AccountManagementPageAbstract {
                 error(getString("passwordResetExpiredOrInvalidToken"));
                 addOrReplace(addPasswordResetEmailPanel(ID_CONTENT_PANEL));
             } else {
-                Boolean emailExists = IsisContext.doInSession(new Callable<Boolean>() {
+                Boolean emailExists = IsisContext.getSessionFactory().doInSession(new Callable<Boolean>() {
                     @Override
                     public Boolean call() throws Exception {
-                        UserRegistrationService userRegistrationService = IsisContext.getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class);
+                        UserRegistrationService userRegistrationService = IsisContext.getSessionFactory()
+                                .getCurrentSession().getPersistenceSession().getServicesInjector()
+                                .lookupService(UserRegistrationService.class);
                         return userRegistrationService.emailExists(email);
                     }
                 });

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
index 8001c1e..47f64b3 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
@@ -76,12 +76,14 @@ public class PasswordResetPanel extends Panel {
 
                 final AccountConfirmationMap accountConfirmationMap = getApplication().getMetaData(AccountConfirmationMap.KEY);
 
-                Boolean passwordUpdated = IsisContext.doInSession(new Callable<Boolean>() {
+                Boolean passwordUpdated = IsisContext.getSessionFactory().doInSession(new Callable<Boolean>() {
                     @Override
                     public Boolean call() throws Exception {
                         String email = accountConfirmationMap.get(uuid);
 
-                        UserRegistrationService userRegistrationService = IsisContext.getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class);
+                        UserRegistrationService userRegistrationService = IsisContext.getSessionFactory()
+                                .getCurrentSession().getPersistenceSession().getServicesInjector()
+                                .lookupService(UserRegistrationService.class);
                         return userRegistrationService.updatePasswordByEmail(email, password);
                     }
                 });

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
index b565537..09e3425 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/register/RegisterPanel.java
@@ -123,20 +123,22 @@ public abstract class RegisterPanel extends GenericPanel<UserDetails> {
         {
             final UserDetails userDetails = getModelObject();
 
-            IsisContext.doInSession(new Runnable() {
-                @Override
-                public void run() {
-                    final UserRegistrationService userRegistrationService = IsisContext.getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class);
-
-                    IsisContext.getTransactionManager().executeWithinTransaction(new TransactionalClosure() {
-                        @Override
-                        public void execute() {
-                            userRegistrationService.registerUser(userDetails);
-                            removeAccountConfirmation();
-                        }
-                    });
-                }
-            });
+            IsisContext.getSessionFactory().doInSession(new Runnable() {
+                    @Override
+                    public void run() {
+                        final UserRegistrationService userRegistrationService = IsisContext.getSessionFactory()
+                                .getCurrentSession().getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class);
+
+                        IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager()
+                                .executeWithinTransaction(new TransactionalClosure() {
+                            @Override
+                            public void execute() {
+                                userRegistrationService.registerUser(userDetails);
+                                removeAccountConfirmation();
+                            }
+                        });
+                    }
+                });
 
             signIn(userDetails.getUsername(), userDetails.getPassword());
             setResponsePage(getApplication().getHomePage());

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
index d011c5c..97edf5c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
@@ -196,7 +196,7 @@ public class EntityPage extends PageAbstract {
     }
 
     protected DeploymentCategory getDeploymentCategory() {
-        return IsisContext.getDeploymentCategory();
+        return IsisContext.getSessionFactory().getDeploymentCategory();
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
index 9583424..01f7f9e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/IsisSignInPanel.java
@@ -19,21 +19,24 @@
 
 package org.apache.isis.viewer.wicket.ui.pages.login;
 
-import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
-
 import javax.inject.Inject;
+
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.Page;
 import org.apache.wicket.authroles.authentication.panel.SignInPanel;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+
 import org.apache.isis.applib.services.email.EmailService;
 import org.apache.isis.applib.services.userreg.EmailNotificationService;
 import org.apache.isis.applib.services.userreg.UserRegistrationService;
-import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.viewer.wicket.model.models.PageType;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
 
+import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
+
 /**
  * An extension of Wicket's default SignInPanel that provides
  * custom markup, based on Bootstrap, and uses
@@ -113,12 +116,14 @@ public class IsisSignInPanel extends SignInPanel {
     }
 
     private void setVisibilityAllowedBasedOnAvailableServices(final Component... components) {
-        IsisContext.doInSession(new Runnable() {
+        isisSessionFactory.doInSession(new Runnable() {
             @Override
             public void run() {
-                final UserRegistrationService userRegistrationService = lookupService(UserRegistrationService.class);
-                final EmailNotificationService emailNotificationService = lookupService(EmailNotificationService.class);
-                final boolean visibilityAllowed = userRegistrationService != null && emailNotificationService.isConfigured();
+                final UserRegistrationService userRegistrationService =
+                        servicesInjector.lookupService(UserRegistrationService.class);
+                final EmailNotificationService emailNotificationService1 =
+                        servicesInjector.lookupService(EmailNotificationService.class);
+                final boolean visibilityAllowed = userRegistrationService != null && emailNotificationService1.isConfigured();
                 for (final Component component: components) {
                     if(component.isVisibilityAllowed()) {
                         component.setVisibilityAllowed(visibilityAllowed);
@@ -152,9 +157,11 @@ public class IsisSignInPanel extends SignInPanel {
 
     // //////////////////////////////////////
 
-    private <T> T lookupService(final Class<T> serviceClass) {
-        return IsisContext.getPersistenceSession().getServicesInjector().lookupService(serviceClass);
-    }
+    @Inject
+    IsisSessionFactory isisSessionFactory;
+
+    @Inject
+    ServicesInjector servicesInjector;
 
     @Inject
     private PageClassRegistry pageClassRegistry;

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
index b65e72d..3b31581 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/mmverror/MmvErrorPage.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.ui.pages.mmverror;
 
 import java.util.List;
 
-import com.google.inject.Inject;
 import com.google.inject.name.Named;
 
 import org.apache.wicket.Application;
@@ -53,23 +52,23 @@ public class MmvErrorPage extends WebPage {
     private static final String ID_APPLICATION_NAME = "applicationName";
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     @Named("applicationName")
     private String applicationName;
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     @Named("applicationCss")
     private String applicationCss;
     
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     @Named("applicationJs")
     private String applicationJs;
 
@@ -131,7 +130,7 @@ public class MmvErrorPage extends WebPage {
     // ///////////////////////////////////////////////////
 
     protected IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
index 78f4fee..18aef4b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
@@ -29,15 +29,13 @@ import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChec
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
 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.pages.PageClassRegistry;
 import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
 
 public abstract class FormAbstract<T> extends Form<T>
-        implements IHeaderContributor, ComponentFactoryRegistryAccessor, PageClassRegistryAccessor,
-        PersistenceSessionProvider {
+        implements IHeaderContributor, ComponentFactoryRegistryAccessor, PageClassRegistryAccessor {
 
     private static final long serialVersionUID = 1L;
 
@@ -101,17 +99,16 @@ public abstract class FormAbstract<T> extends Form<T>
     // Dependencies (from IsisContext)
     // ///////////////////////////////////////////////////////////////////
 
-    @Override
     public PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     public AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
     public DeploymentCategory getDeploymentCategory() {
-        return IsisContext.getDeploymentCategory();
+        return IsisContext.getSessionFactory().getDeploymentCategory();
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
index d88c50a..2b660d8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
@@ -33,7 +33,6 @@ import org.apache.isis.core.runtime.system.IsisSystem;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
-import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAccessor;
@@ -48,7 +47,7 @@ import de.agilecoders.wicket.extensions.markup.html.bootstrap.confirmation.Confi
  */
 // TODO mgrigorov: extend GenericPanel and make T the type of the model object, not the model
 public abstract class PanelAbstract<T extends IModel<?>> extends Panel
-            implements IHeaderContributor, PersistenceSessionProvider {
+            implements IHeaderContributor {
 
     private static final long serialVersionUID = 1L;
 
@@ -145,13 +144,12 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel
     // Dependencies (from IsisContext)
     // ///////////////////////////////////////////////////////////////////
 
-    @Override
     public PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     protected ServicesInjector getServicesInjector() {
-        return getPersistenceSession().getServicesInjector();
+        return IsisContext.getSessionFactory().getServicesInjector();
     }
 
     // /////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DelegatingInvocationHandlerDefault.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DelegatingInvocationHandlerDefault.java b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DelegatingInvocationHandlerDefault.java
index fa014be..4279253 100644
--- a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DelegatingInvocationHandlerDefault.java
+++ b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DelegatingInvocationHandlerDefault.java
@@ -75,7 +75,7 @@ public class DelegatingInvocationHandlerDefault<T> implements DelegatingInvocati
 
     protected void resolveIfRequired(final Object domainObject) {
         if (resolveObjectChangedEnabled) {
-            IsisContext.getPersistenceSession().resolve(domainObject);
+            IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().resolve(domainObject);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/example/application/simpleapp/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/dom/src/main/java/domainapp/dom/simple/SimpleObject.java b/example/application/simpleapp/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
index 6754ee1..ff780e9 100644
--- a/example/application/simpleapp/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
+++ b/example/application/simpleapp/dom/src/main/java/domainapp/dom/simple/SimpleObject.java
@@ -22,6 +22,7 @@ import javax.jdo.annotations.IdentityType;
 import javax.jdo.annotations.VersionStrategy;
 
 import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.Auditing;
 import org.apache.isis.applib.annotation.CommandReification;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.MemberOrder;
@@ -60,7 +61,8 @@ import org.apache.isis.applib.util.ObjectContracts;
 })
 @javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
 @DomainObject(
-        publishing = Publishing.ENABLED
+        publishing = Publishing.ENABLED,
+        auditing = Auditing.ENABLED
 )
 public class SimpleObject implements Comparable<SimpleObject> {