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:02 UTC

[11/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/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
index 21d99a2..d5b1ee1 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
@@ -165,7 +165,7 @@ public class RegisterEntities {
     // //////////////////////////////////////
 
     SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
+        return IsisContext.getSessionFactory().getSpecificationLoader();
     }
 
     

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/adapterfactory/pojo/PojoAdapterTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/adapterfactory/pojo/PojoAdapterTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/adapterfactory/pojo/PojoAdapterTest.java
index 3951bea..2c68c1b 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/adapterfactory/pojo/PojoAdapterTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/adapterfactory/pojo/PojoAdapterTest.java
@@ -27,7 +27,6 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.oid.RootOid;
@@ -62,15 +61,13 @@ public class PojoAdapterTest {
     private AuthenticationSession mockAuthenticationSession;
     @Mock
     private PersistenceSession mockPersistenceSession;
-    @Mock
-    private Localization mockLocalization;
-    
+
     @Before
     public void setUp() throws Exception {
         domainObject = new RuntimeTestPojo();
         
         adapter = new PojoAdapter(domainObject, RootOid.create(ObjectSpecId.of("CUS"), "1"), mockAuthenticationSession,
-                mockLocalization, mockSpecificationLoader, mockPersistenceSession);
+                mockSpecificationLoader, mockPersistenceSession);
         adapter.setVersion(mockVersion);
         
         allowUnimportantMethodCallsOn(mockVersion);

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java
index 23f4ed5..164e2c0 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java
@@ -23,7 +23,6 @@ import java.util.Iterator;
 
 import com.google.common.base.Splitter;
 
-import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.adapter.oid.ParentedCollectionOid;
@@ -61,12 +60,10 @@ public class PojoAdapterBuilder {
 
     private Version version;
 
-    private Localization localization;
-
     private AuthenticationSession authenticationSession;
 
     
-    public static enum Persistence {
+    public enum Persistence {
         TRANSIENT {
             @Override
             RootOid createOid(ObjectSpecId objectSpecId, String identifier) {
@@ -181,11 +178,6 @@ public class PojoAdapterBuilder {
         return this;
     }
     
-    public PojoAdapterBuilder with(Localization localization) {
-        this.localization = localization;
-        return this;
-    }
-
     public PojoAdapterBuilder with(Version version) {
         this.version = version;
         return this;
@@ -199,7 +191,7 @@ public class PojoAdapterBuilder {
     public PojoAdapter build() {
         final RootOid rootOid = persistence.createOid(objectSpecId, identifier);
         final Oid oid = type.oidFor(rootOid, objectSpecId, aggregatedId);
-        final PojoAdapter pojoAdapter = new PojoAdapter(pojo, oid, authenticationSession, localization,
+        final PojoAdapter pojoAdapter = new PojoAdapter(pojo, oid, authenticationSession,
                 specificationLoader, persistenceSession) {
             @Override
             public ObjectSpecification getSpecification() { return objectSpec != null? objectSpec: super.getSpecification(); }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/RendererContext.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/RendererContext.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/RendererContext.java
index 7477085..460e0e4 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/RendererContext.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/RendererContext.java
@@ -22,7 +22,6 @@ import java.util.List;
 
 import org.apache.isis.applib.annotation.Render;
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -50,8 +49,6 @@ public interface RendererContext {
 
     List<List<String>> getFollowLinks();
 
-    Localization getLocalization();
-
     boolean honorUiHints();
 
     boolean objectPropertyValuesOnly();

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
index 0cc3335..c09cada 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
@@ -222,7 +222,7 @@ public abstract class ReprRendererAbstract<R extends ReprRendererAbstract<R, T>,
     }
 
     protected List<ObjectAdapter> getServiceAdapters() {
-        return IsisContext.getPersistenceSession().getServices();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().getServices();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectLinkTo.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectLinkTo.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectLinkTo.java
index fe37480..004b72e 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectLinkTo.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectLinkTo.java
@@ -96,13 +96,5 @@ public class DomainObjectLinkTo implements ObjectAdapterLinkTo {
 
 
     
-    //////////////////////////////////////////////////
-    // Dependencies (from context)
-    //////////////////////////////////////////////////
-    
-    protected static OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
-    }
-
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
index 5dc34b8..830205e 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
@@ -397,7 +397,7 @@ public class DomainObjectReprRenderer extends ReprRendererAbstract<DomainObjectR
             return JsonValueEncoder.asObject(objectAdapter, format);
         }
         final TitleFacet titleFacet = objectSpec.getFacet(TitleFacet.class);
-        final String title = titleFacet.title(objectAdapter, resourceContext.getLocalization());
+        final String title = titleFacet.title(objectAdapter);
         return DomainObjectReprRenderer.newLinkToBuilder(resourceContext, Rel.VALUE, objectAdapter).withTitle(title).build();
     }
 
@@ -408,7 +408,7 @@ public class DomainObjectReprRenderer extends ReprRendererAbstract<DomainObjectR
     // ///////////////////////////////////////////////////////////////////
 
     protected static OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
+        return IsisContext.getSessionFactory().getOidMarshaller();
+    }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java
index a0314ae..5425c22 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java
@@ -846,7 +846,7 @@ public final class JsonValueEncoder {
     }
 
     private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java
index 7857861..27a8446 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectPropertyReprRenderer.java
@@ -126,7 +126,7 @@ public class ObjectPropertyReprRenderer extends AbstractObjectMemberReprRenderer
             return value;
         } else {
             final TitleFacet titleFacet = spec.getFacet(TitleFacet.class);
-            final String title = titleFacet.title(valueAdapter, rendererContext.getLocalization());
+            final String title = titleFacet.title(valueAdapter);
             
             final LinkBuilder valueLinkBuilder = DomainObjectReprRenderer.newLinkToBuilder(rendererContext, Rel.VALUE, valueAdapter).withTitle(title);
             if(eagerlyRender) {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
index 9a437f6..dfc8c75 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
@@ -59,10 +59,10 @@ public class IsisPrettyPrintingProcessor implements DecoratorProcessor<Marshalle
     }
 
     protected DeploymentCategory getDeploymentCategory() {
-        return IsisContext.getDeploymentCategory();
+        return IsisContext.getSessionFactory().getDeploymentCategory();
     }
 
     protected IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/JsonWriterUtil.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/JsonWriterUtil.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/JsonWriterUtil.java
index 40b89a6..446682d 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/JsonWriterUtil.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/JsonWriterUtil.java
@@ -29,7 +29,8 @@ public final class JsonWriterUtil {
     private JsonWriterUtil(){}
 
     public static String jsonFor(final Object object) {
-        final JsonMapper.PrettyPrinting prettyPrinting = inferPrettyPrinting(IsisContext.getDeploymentCategory());
+        final JsonMapper.PrettyPrinting prettyPrinting = inferPrettyPrinting(
+                IsisContext.getSessionFactory().getDeploymentCategory());
         try {
             return JsonMapper.instance(prettyPrinting).write(object);
         } catch (final IOException e) {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
index e298c40..cf51d0c 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
@@ -36,7 +36,6 @@ import com.google.common.base.Strings;
 import com.google.common.collect.Sets;
 
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -47,6 +46,7 @@ import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
 import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest.DomainModel;
@@ -72,7 +72,6 @@ public class ResourceContext implements RendererContext6 {
     private final ServicesInjector servicesInjector;
     private final SpecificationLoader specificationLoader;
     private final AuthenticationSession authenticationSession;
-    private final Localization localization;
     private final PersistenceSession persistenceSession;
 
     private List<List<String>> followLinks;
@@ -98,13 +97,8 @@ public class ResourceContext implements RendererContext6 {
             final HttpServletRequest httpServletRequest,
             final HttpServletResponse httpServletResponse,
             final SecurityContext securityContext,
-            final DeploymentCategory deploymentCategory,
             final IsisConfiguration configuration,
             final ServicesInjector servicesInjector,
-            final SpecificationLoader specificationLoader,
-            final AuthenticationSession authenticationSession,
-            final Localization localization,
-            final PersistenceSession persistenceSession,
             final InteractionInitiatedBy interactionInitiatedBy) {
 
         this.httpHeaders = httpHeaders;
@@ -118,12 +112,15 @@ public class ResourceContext implements RendererContext6 {
         this.httpServletResponse = httpServletResponse;
         this.securityContext = securityContext;
         this.servicesInjector = servicesInjector;
-        this.localization = localization;
         this.configuration = configuration;
-        this.authenticationSession = authenticationSession;
-        this.persistenceSession = persistenceSession;
-        this.specificationLoader = specificationLoader;
-        this.deploymentCategory = deploymentCategory;
+
+        this.authenticationSession = servicesInjector.getAuthenticationSession();
+        this.specificationLoader = servicesInjector.getSpecificationLoader();
+        this.deploymentCategory = servicesInjector.getDeploymentCategory();
+
+        final IsisSessionFactory isisSessionFactory = servicesInjector.lookupServiceElseFail(IsisSessionFactory.class);
+        this.persistenceSession = isisSessionFactory.getCurrentSession().getPersistenceSession();
+
         this.interactionInitiatedBy = interactionInitiatedBy;
 
         init(representationType);
@@ -267,11 +264,6 @@ public class ResourceContext implements RendererContext6 {
     }
 
     @Override
-    public Localization getLocalization() {
-        return localization;
-    }
-
-    @Override
     public AuthenticationSession getAuthenticationSession() {
         return authenticationSession;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/RuntimeExceptionMapper.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/RuntimeExceptionMapper.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/RuntimeExceptionMapper.java
index 9e3f062..bc191c5 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/RuntimeExceptionMapper.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/RuntimeExceptionMapper.java
@@ -38,7 +38,8 @@ public class RuntimeExceptionMapper implements ExceptionMapper<RuntimeException>
     @Override
     public Response toResponse(final RuntimeException ex) {
         // since have rendered...
-        final IsisTransaction currentTransaction = IsisContext.getTransactionManager().getTransaction();
+        final IsisTransaction currentTransaction = IsisContext.getSessionFactory().getCurrentSession()
+                .getPersistenceSession().getTransactionManager().getCurrentTransaction();
 
         final Throwable rootCause = Throwables.getRootCause(ex);
         final List<Throwable> causalChain = Throwables.getCausalChain(ex);

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyBasicAuth.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyBasicAuth.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyBasicAuth.java
index f8f69e5..1e43a0b 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyBasicAuth.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyBasicAuth.java
@@ -88,7 +88,7 @@ public class AuthenticationSessionStrategyBasicAuth extends AuthenticationSessio
     // //////////////////////////////////////////////////////////
 
     protected AuthenticationManager getAuthenticationManager() {
-        return IsisContext.getAuthenticationManager();
+        return IsisContext.getSessionFactory().getAuthenticationManager();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyTrusted.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyTrusted.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyTrusted.java
index 16fbfc7..d369f39 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyTrusted.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyTrusted.java
@@ -37,6 +37,6 @@ public class AuthenticationSessionStrategyTrusted extends AuthenticationSessionS
 
         // will always succeed.
         final AuthenticationRequestExploration request = new AuthenticationRequestExploration();
-        return IsisContext.getAuthenticationManager().authenticate(request);
+        return IsisContext.getSessionFactory().getAuthenticationManager().authenticate(request);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/conneg/RestfulObjectsJaxbWriterForXml.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/conneg/RestfulObjectsJaxbWriterForXml.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/conneg/RestfulObjectsJaxbWriterForXml.java
index 783dc6d..e5ab94f 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/conneg/RestfulObjectsJaxbWriterForXml.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/conneg/RestfulObjectsJaxbWriterForXml.java
@@ -57,7 +57,8 @@ public class RestfulObjectsJaxbWriterForXml extends JAXBXmlRootElementProvider {
         marshaller.setAdapter(PersistentEntityAdapter.class, new PersistentEntityAdapter() {
             @Override
             protected BookmarkService getBookmarkService() {
-                final PersistenceSession persistenceSession = IsisContext.getPersistenceSession();
+                final PersistenceSession persistenceSession = IsisContext.getSessionFactory().getCurrentSession()
+                        .getPersistenceSession();
                 final ServicesInjector servicesInjector = persistenceSession.getServicesInjector();
                 return servicesInjector.lookupService(BookmarkService.class);
             }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
index f4b9ea4..da57bcd 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
@@ -23,7 +23,6 @@ import javax.ws.rs.core.Response;
 
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -32,10 +31,10 @@ import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
 import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse;
@@ -119,11 +118,6 @@ public class DomainResourceHelper {
         }
 
         @Override
-        public Localization getLocalization() {
-            return rendererContext.getLocalization();
-        }
-
-        @Override
         public boolean canEagerlyRender(ObjectAdapter objectAdapter) {
             return rendererContext.canEagerlyRender(objectAdapter);
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ObjectActionArgHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ObjectActionArgHelper.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ObjectActionArgHelper.java
index aa12ed6..82d15f3 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ObjectActionArgHelper.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ObjectActionArgHelper.java
@@ -65,8 +65,7 @@ public class ObjectActionArgHelper {
                 // validate individual arg
                 final ObjectActionParameter parameter = parameters.get(i);
                 final Object argPojo = argAdapter!=null?argAdapter.getObject():null;
-                final String reasonNotValid = parameter.isValid(objectAdapter, argPojo, InteractionInitiatedBy.USER,
-                        null
+                final String reasonNotValid = parameter.isValid(objectAdapter, argPojo, InteractionInitiatedBy.USER
                 );
                 if (reasonNotValid != null) {
                     argRepr.mapPut("invalidReason", reasonNotValid);

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
index 1eb2445..1b4fa83 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
@@ -31,15 +31,14 @@ import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.ext.Providers;
 
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.url.UrlEncodingUtils;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.ServiceUtil;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -111,7 +110,7 @@ public abstract class ResourceAbstract {
             final Where where,
             final RepresentationService.Intent intent,
             final String urlUnencodedQueryString) {
-        if (!IsisContext.inSession()) {
+        if (!IsisContext.getSessionFactory().inSession()) {
             throw RestfulObjectsApplicationException.create(HttpStatusCode.UNAUTHORIZED);
         }
         if (getAuthenticationSession() == null) {
@@ -121,10 +120,9 @@ public abstract class ResourceAbstract {
         this.resourceContext = new ResourceContext(
                 representationType, httpHeaders, providers, uriInfo, request, where, intent, urlUnencodedQueryString, httpServletRequest, httpServletResponse,
                 securityContext,
-                getDeploymentCategory(), getConfiguration(),
-                getServicesInjector(), getSpecificationLoader(),
-                getAuthenticationSession(), getLocalization(),
-                getPersistenceSession(), InteractionInitiatedBy.USER);
+                getConfiguration(),
+                getServicesInjector(),
+                InteractionInitiatedBy.USER);
     }
 
     protected ResourceContext getResourceContext() {
@@ -168,11 +166,11 @@ public abstract class ResourceAbstract {
     // //////////////////////////////////////////////////////////////
 
     protected DeploymentCategory getDeploymentCategory() {
-        return IsisContext.getDeploymentCategory();
+        return IsisContext.getSessionFactory().getDeploymentCategory();
     }
 
     protected IsisConfiguration getConfiguration () {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 
     protected ServicesInjector getServicesInjector () {
@@ -180,23 +178,19 @@ public abstract class ResourceAbstract {
     }
 
     protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
     protected AuthenticationManager getAuthenticationManager() {
-        return IsisContext.getAuthenticationManager();
+        return IsisContext.getSessionFactory().getAuthenticationManager();
     }
 
     protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
+        return IsisContext.getSessionFactory().getSpecificationLoader();
     }
 
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-    protected Localization getLocalization() {
-        return IsisContext.getLocalization();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     // //////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/SwaggerSpecResource.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/SwaggerSpecResource.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/SwaggerSpecResource.java
index d051294..2642e86 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/SwaggerSpecResource.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/SwaggerSpecResource.java
@@ -71,7 +71,7 @@ public class SwaggerSpecResource {
 
     private String swagger(final SwaggerService.Visibility visibility) {
         final SwaggerService.Format format = deriveFrom(httpHeaders);
-        String spec = IsisContext.doInSession(new MyCallable(visibility, format));
+        String spec = IsisContext.getSessionFactory().doInSession(new MyCallable(visibility, format));
         return spec;
     }
 
@@ -119,7 +119,7 @@ public class SwaggerSpecResource {
         }
 
         PersistenceSession getPersistenceSession() {
-            return IsisContext.getPersistenceSession();
+            return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java
index 8fea05d..74e6264 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java
@@ -37,7 +37,7 @@ public class IsisTransactionFilterForRestfulObjects implements Filter {
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
         // no-op if no session available.
-        if(!IsisContext.inSession()) {
+        if(!IsisContext.getSessionFactory().inSession()) {
             chain.doFilter(request, response);
             return;
         }
@@ -54,11 +54,11 @@ public class IsisTransactionFilterForRestfulObjects implements Filter {
     }
 
     protected boolean inTransaction() {
-        return IsisContext.inTransaction();
+        return IsisContext.getSessionFactory().inTransaction();
     }
 
     protected IsisTransactionManager getTransactionManager() {
-        return IsisContext.getTransactionManager();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
index 33e537e..9164f20 100644
--- a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
+++ b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
@@ -161,7 +161,8 @@ public class ResourceContextTest_ensureCompatibleAcceptHeader {
 
     private ResourceContext instantiateResourceContext(
             final RepresentationType representationType) {
-        return new ResourceContext(representationType, httpHeaders, null, null, null, null, null, null, httpServletRequest, null, null, null, null, null, null, null, null, null, null);
+        return new ResourceContext(representationType, httpHeaders, null, null, null, null, null, null, httpServletRequest, null, null,
+                null, null, null);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
index 21ad08e..d886275 100644
--- a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
+++ b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
@@ -56,7 +56,8 @@ public class ResourceContextTest_getArg {
         givenServletRequestQueryString(queryString);
         givenServletRequestParameterMapEmpty();
 
-        resourceContext = new ResourceContext(null, null, null, null, null, null, null, (String)null, httpServletRequest, null, null, null, null, null, null, null, null, null, null) {
+        resourceContext = new ResourceContext(null, null, null, null, null, null, null, (String)null, httpServletRequest, null, null,
+                null, null, null) {
             @Override
             void init(final RepresentationType representationType) {
                 //
@@ -72,7 +73,8 @@ public class ResourceContextTest_getArg {
         givenServletRequestQueryString(queryString);
         givenServletRequestParameterMapEmpty();
 
-        resourceContext = new ResourceContext(null, null, null, null, null, null, null, (String)null, httpServletRequest, null, null, null, null, null, null, null, null, null, null) {
+        resourceContext = new ResourceContext(null, null, null, null, null, null, null, (String)null, httpServletRequest, null, null,
+                null, null, null) {
             @Override
             void init(final RepresentationType representationType) {
                 //

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index b9f0ddb..3ac1de0 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -28,7 +28,6 @@ import com.google.common.base.Function;
 import com.google.common.collect.Lists;
 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;
 
@@ -69,6 +68,7 @@ import org.apache.isis.core.runtime.runner.IsisInjectModule;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.IsisSystem;
 import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.core.webapp.IsisWebAppBootstrapper;
 import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
 import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
@@ -152,40 +152,56 @@ public class IsisWicketApplication
     }
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     private ComponentFactoryRegistry componentFactoryRegistry;
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
     @SuppressWarnings("unused")
-    @Inject
+    @com.google.inject.Inject
     private ImageResourceCache imageCache;
 
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
     @SuppressWarnings("unused")
-    @Inject
+    @com.google.inject.Inject
     private WicketViewerSettings wicketViewerSettings;
 
     /**
-     * {@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;
 
-
     /**
-     * {@link Inject}ed when {@link #init() initialized}.
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
      */
-    @Inject
+    @com.google.inject.Inject
     private IsisSystem isisSystem;
 
+    /**
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
+     */
+    @com.google.inject.Inject
+    private IsisSessionFactory isisSessionFactory;
 
-    private boolean determiningDeploymentType;
+    /**
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
+     */
+    @com.google.inject.Inject
+    private IsisConfiguration configuration;
+
+    /**
+     * {@link com.google.inject.Inject Inject}ed when {@link #init() initialized}.
+     */
+    @com.google.inject.Inject
+    private DeploymentCategory deploymentCategory;
+
+    private boolean determiningConfigurationType;
     private DeploymentTypeWicketAbstract deploymentType;
 
     private final List<String> validationErrors = Lists.newArrayList();
@@ -241,7 +257,8 @@ public class IsisWicketApplication
 
             final IsisConfigurationDefault configuration = isisConfigurationBuilder.getConfiguration();
 
-            deploymentType = determineDeploymentType(configuration.getString("isis.deploymentType"));
+            DeploymentTypeWicketAbstract deploymentType =
+                    determineDeploymentType(configuration.getString("isis.deploymentType"));
 
             RequestCycleListenerCollection requestCycleListeners = getRequestCycleListeners();
             IRequestCycleListener requestCycleListenerForIsis = newWebRequestCycleForIsis();
@@ -267,7 +284,7 @@ public class IsisWicketApplication
 
             filterJavascriptContributions();
 
-            configureWicketSourcePluginIfNecessary(configuration);
+            configureWicketSourcePluginIfNecessary();
 
             // TODO ISIS-987 Either make the API better (no direct access to the map) or use DB records
             int maxEntries = 1000;
@@ -312,14 +329,14 @@ public class IsisWicketApplication
         select2Settings.setIncludeJqueryUI(false);
     }
 
-    protected void configureWicketSourcePluginIfNecessary(final IsisConfiguration configuration) {
-        if(isWicketSourcePluginEnabled(configuration)) {
+    protected void configureWicketSourcePluginIfNecessary() {
+        if(isWicketSourcePluginEnabled(this.configuration)) {
             configureWicketSourcePlugin();
         }
     }
 
     protected void configureWicketSourcePlugin() {
-        if(!deploymentType.isProduction()) {
+        if(!deploymentCategory.isProduction()) {
             WicketSource.configure(this);
         }
     }
@@ -388,7 +405,7 @@ public class IsisWicketApplication
             return;
         }
 
-        determiningDeploymentType = true;
+        determiningConfigurationType = true;
         try {
             final IsisConfigurationBuilder isisConfigurationBuilder = obtainConfigBuilder();
 
@@ -396,7 +413,7 @@ public class IsisWicketApplication
             String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
             deploymentType = determineDeploymentType(deploymentTypeFromConfig);
         } finally {
-            determiningDeploymentType = false;
+            determiningConfigurationType = false;
         }
     }
 
@@ -641,7 +658,7 @@ public class IsisWicketApplication
 
     @Override
     public RuntimeConfigurationType getConfigurationType() {
-        if(determiningDeploymentType) {
+        if(determiningConfigurationType) {
             // avoiding an infinite loop; have already passed through here once before
             // this time around, just delegate to web-inf
             return super.getConfigurationType();
@@ -718,7 +735,6 @@ public class IsisWicketApplication
         return pageClassRegistry;
     }
 
-    
     /**
      * Delegates to the {@link #getPageClassRegistry() PageClassRegistry}.
      */
@@ -727,7 +743,6 @@ public class IsisWicketApplication
         return getPageClassRegistry().getPageClass(PageType.HOME);
     }
 
-
     /**
      * Delegates to the {@link #getPageClassRegistry() PageClassRegistry}.
      */
@@ -761,13 +776,11 @@ public class IsisWicketApplication
         return (Class<? extends WebPage>) getPageClassRegistry().getPageClass(PageType.PASSWORD_RESET);
     }
 
-
     public AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return isisSessionFactory.getCurrentSession().getAuthenticationSession();
     }
 
-
     public DeploymentCategory getDeploymentCategory() {
-        return deploymentType.getDeploymentCategory();
+        return deploymentCategory;
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
index 7fd37ed..cca4423 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
@@ -134,7 +134,7 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
     // /////////////////////////////////////////////////
 
     protected AuthenticationManager getAuthenticationManager() {
-        return IsisContext.getAuthenticationManager();
+        return IsisContext.getSessionFactory().getAuthenticationManager();
     }
 
     // /////////////////////////////////////////////////
@@ -147,22 +147,22 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
             final SessionLoggingService.CausedBy causedBy) {
         final SessionLoggingService sessionLoggingService = getSessionLoggingService();
         if (sessionLoggingService != null) {
-            IsisContext.doInSession(new Runnable() {
-                @Override
-                public void run() {
-                    // use hashcode as session identifier, to avoid re-binding http sessions if using Session#getId()
-                    int sessionHashCode = System.identityHashCode(AuthenticatedWebSessionForIsis.this);
-                    sessionLoggingService.log(type, username, Clock.getTimeAsDateTime().toDate(), causedBy, Integer.toString(sessionHashCode));
-                }
-            });
+            IsisContext.getSessionFactory().doInSession(new Runnable() {
+                    @Override
+                    public void run() {
+                        // use hashcode as session identifier, to avoid re-binding http sessions if using Session#getId()
+                        int sessionHashCode = System.identityHashCode(AuthenticatedWebSessionForIsis.this);
+                        sessionLoggingService.log(type, username, Clock.getTimeAsDateTime().toDate(), causedBy, Integer.toString(sessionHashCode));
+                    }
+                });
         }
     }
 
     protected SessionLoggingService getSessionLoggingService() {
-        return IsisContext.doInSession(new Callable<SessionLoggingService>() {
+        return IsisContext.getSessionFactory().doInSession(new Callable<SessionLoggingService>() {
             @Override
             public SessionLoggingService call() throws Exception {
-                return IsisContext.getPersistenceSession().getServicesInjector().lookupService(SessionLoggingService.class);
+                return IsisContext.getSessionFactory().getServicesInjector().lookupService(SessionLoggingService.class);
             }
         });
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java
index 226e806..abe60a5 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java
@@ -69,11 +69,11 @@ public class ConverterForObjectAdapter implements IConverter<ObjectAdapter> {
     // //////////////////////////////////////////////////////////
 
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
+        return IsisContext.getSessionFactory().getOidMarshaller();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
index ba66e40..5e0781d 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
@@ -82,11 +82,11 @@ public class ConverterForObjectAdapterMemento implements IConverter<ObjectAdapte
     // //////////////////////////////////////////////////////////
 
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
+        return IsisContext.getSessionFactory().getOidMarshaller();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java
index 66be00a..49ec79f 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/LocalizerForIsis.java
@@ -68,15 +68,15 @@ public class LocalizerForIsis extends Localizer {
     protected String translate(final String key, final Component component) {
         final Class<?> contextClass = determineContextClassElse(component, IsisWicketApplication.class);
         final String context = contextClass.getName();
-        if(IsisContext.inSession()) {
+        if(IsisContext.getSessionFactory().inSession()) {
             return translate(key, context);
         } else {
-            return IsisContext.doInSession(new Callable<String>() {
-                @Override
-                public String call() throws Exception {
-                    return translate(key, context);
-                }
-            });
+            return IsisContext.getSessionFactory().doInSession(new Callable<String>() {
+                    @Override
+                    public String call() throws Exception {
+                        return translate(key, context);
+                    }
+                });
         }
     }
 
@@ -153,7 +153,7 @@ public class LocalizerForIsis extends Localizer {
     }
 
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
index b13bbe4..4e2500f 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/WebRequestCycleForIsis.java
@@ -84,7 +84,7 @@ public class WebRequestCycleForIsis extends AbstractRequestCycleListener {
             return;
         }
 
-        IsisContext.openSession(authenticationSession);
+        IsisContext.getSessionFactory().openSession(authenticationSession);
         getTransactionManager().startTransaction();
     }
 
@@ -99,7 +99,7 @@ public class WebRequestCycleForIsis extends AbstractRequestCycleListener {
             LOG.debug("onRequestHandlerExecuted: handler: " + handler);
         }
 
-        if (IsisContext.inSession()) {
+        if (IsisContext.getSessionFactory().inSession()) {
             try {
                 // will commit (or abort) the transaction;
                 // an abort will cause the exception to be thrown.
@@ -107,7 +107,7 @@ public class WebRequestCycleForIsis extends AbstractRequestCycleListener {
             } catch(Exception ex) {
                 // will redirect to error page after this, 
                 // so make sure there is a new transaction ready to go.
-                if(getTransactionManager().getTransaction().getState().isComplete()) {
+                if(getTransactionManager().getCurrentTransaction().getState().isComplete()) {
                     getTransactionManager().startTransaction();
                 }
                 if(handler instanceof RenderPageRequestHandler) {
@@ -130,12 +130,12 @@ public class WebRequestCycleForIsis extends AbstractRequestCycleListener {
      */
     @Override
     public synchronized void onEndRequest(RequestCycle cycle) {
-        if (IsisContext.inSession()) {
+        if (IsisContext.getSessionFactory().inSession()) {
             try {
                 // belt and braces
                 getTransactionManager().endTransaction();
             } finally {
-                IsisContext.closeSession();
+                IsisContext.getSessionFactory().closeSession();
             }
         }
     }
@@ -247,19 +247,19 @@ public class WebRequestCycleForIsis extends AbstractRequestCycleListener {
     
     //region > Dependencies (from isis' context)
     protected ServicesInjector getServicesInjector() {
-        return IsisContext.getPersistenceSession().getServicesInjector();
+        return IsisContext.getSessionFactory().getServicesInjector();
     }
     
     protected IsisTransactionManager getTransactionManager() {
-        return IsisContext.getTransactionManager();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager();
     }
 
     protected boolean inIsisSession() {
-        return IsisContext.inSession();
+        return IsisContext.getSessionFactory().inSession();
     }
 
     protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
     //endregion
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
index f5738a8..6720f08 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
@@ -72,7 +72,7 @@ public class DeepLinkServiceWicket implements DeepLinkService {
     }
 
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     @Inject

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
index cdfef3e..33ef03e 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
@@ -31,7 +31,7 @@ public class WicketViewerSettingsDefault implements WicketViewerSettings {
     private static final long serialVersionUID = 1L;
 
     IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java
deleted file mode 100644
index 3c6d78f..0000000
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.viewer.wicket.model.isis;
-
-
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-
-public interface PersistenceSessionProvider {
-
-    PersistenceSession getPersistenceSession();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/CollectionMemento.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/CollectionMemento.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/CollectionMemento.java
index 6d2a0b2..c4a7803 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/CollectionMemento.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/CollectionMemento.java
@@ -35,7 +35,7 @@ public class CollectionMemento implements Serializable {
     private static final long serialVersionUID = 1L;
 
     private static ObjectSpecification owningSpecFor(final OneToManyAssociation association) {
-        return IsisContext.getSpecificationLoader().loadSpecification(association.getIdentifier().toClassIdentityString());
+        return IsisContext.getSessionFactory().getSpecificationLoader().loadSpecification(association.getIdentifier().toClassIdentityString());
     }
 
     private final ObjectSpecId owningType;

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
index 4ab3c0b..a9747dc 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java
@@ -462,12 +462,12 @@ public class ObjectAdapterMemento implements Serializable {
     //////////////////////////////////////////////////
 
     private static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
 	public static OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
+        return IsisContext.getSessionFactory().getOidMarshaller();
+    }
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/PropertyMemento.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/PropertyMemento.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/PropertyMemento.java
index 6504be6..3f734bc 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/PropertyMemento.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/PropertyMemento.java
@@ -32,7 +32,7 @@ public class PropertyMemento implements Serializable {
     private static final long serialVersionUID = 1L;
 
     private static ObjectSpecification owningSpecFor(final OneToOneAssociation association) {
-        return IsisContext.getSpecificationLoader().loadSpecification(association.getIdentifier().toClassIdentityString());
+        return IsisContext.getSessionFactory().getSpecificationLoader().loadSpecification(association.getIdentifier().toClassIdentityString());
     }
 
     private final ObjectSpecId owningSpecId;

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/SpecUtils.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/SpecUtils.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/SpecUtils.java
index d541d8a..7f1d886 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/SpecUtils.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/SpecUtils.java
@@ -38,7 +38,7 @@ public final class SpecUtils {
     }
 
     protected static SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
+        return IsisContext.getSessionFactory().getSpecificationLoader();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index 8ebf435..df59ea9 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -52,7 +52,6 @@ import org.apache.isis.applib.services.routing.RoutingService;
 import org.apache.isis.applib.value.Blob;
 import org.apache.isis.applib.value.Clob;
 import org.apache.isis.applib.value.NamedWithMimeType;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
 import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
@@ -682,7 +681,7 @@ public class ActionModel extends BookmarkableModel<ObjectAdapter> {
     //////////////////////////////////////////////////
     
     private static OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
+        return IsisContext.getSessionFactory().getOidMarshaller();
     }
 
     public ActionModel copy() {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
index ad769b0..2f788c4 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNode.java
@@ -261,7 +261,7 @@ public class BookmarkTreeNode implements Serializable {
     // //////////////////////////////////////
 
     protected static OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
+        return IsisContext.getSessionFactory().getOidMarshaller();
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java
index a0a16b3..6b51ebc 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkTreeNodeComparator.java
@@ -76,11 +76,11 @@ final class BookmarkTreeNodeComparator implements Comparator<BookmarkTreeNode> {
     //////////////////////////////////////////////////
     
     protected OidMarshaller getOidMarshaller() {
-        return IsisContext.getOidMarshaller();
+        return IsisContext.getSessionFactory().getOidMarshaller();
     }
     
     protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
+        return IsisContext.getSessionFactory().getSpecificationLoader();
     }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
index 1a5d614..dfe947a 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/BookmarkedPagesModel.java
@@ -143,7 +143,7 @@ public class BookmarkedPagesModel extends ModelAbstract<List<? extends BookmarkT
 
     
     protected IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
+        return IsisContext.getSessionFactory().getConfiguration();
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index 58d9ce3..5a9e142 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -515,11 +515,11 @@ public class EntityCollectionModel extends ModelAbstract<List<ObjectAdapter>> im
     }
 
     private static PersistenceSession getPersistenceSessionStatic() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     private static SpecificationLoader getSpecificationLoaderStatic() {
-        return IsisContext.getSpecificationLoader();
+        return IsisContext.getSessionFactory().getSpecificationLoader();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 1c3a074..7015de0 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -237,7 +237,7 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiH
         }
 
         protected HintStore getHintStore() {
-            return IsisContext.getPersistenceSession().getServicesInjector().lookupService(HintStore.class);
+            return IsisContext.getSessionFactory().getServicesInjector().lookupService(HintStore.class);
         }
 
 
@@ -632,11 +632,11 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiH
     // //////////////////////////////////////////////////////////
 
     protected static OidMarshaller getOidMarshaller() {
-		return IsisContext.getOidMarshaller();
-	}
+        return IsisContext.getSessionFactory().getOidMarshaller();
+    }
 
     protected SpecificationLoader getSpecificationLoader() {
-        return IsisContext.getSpecificationLoader();
+        return IsisContext.getSessionFactory().getSpecificationLoader();
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
index 52b0d58..afd0c2b 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ModelAbstract.java
@@ -47,11 +47,11 @@ public abstract class ModelAbstract<T> extends LoadableDetachableModel<T> {
     // //////////////////////////////////////////////////////////////
 
     protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     protected AdapterManager getAdapterManager() {

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index 2503eba..249119d 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -27,7 +27,6 @@ import java.util.List;
 import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -48,7 +47,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecId;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.links.LinksProvider;
 import org.apache.isis.viewer.wicket.model.mementos.ActionParameterMemento;
@@ -117,10 +115,8 @@ public class ScalarModel extends EntityModel implements LinksProvider {
                 try {
                     final ObjectAdapter parentAdapter = scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.CHECK);
                     final ObjectAdapter currentValue = property.get(parentAdapter, InteractionInitiatedBy.USER);
-                    final Localization localization = IsisContext.getLocalization();
-                    final ObjectAdapter proposedAdapter = parseableFacet.parseTextEntry(currentValue, proposedPojoAsStr,
-                            InteractionInitiatedBy.USER, localization
-                    );
+                    final ObjectAdapter proposedAdapter =
+                            parseableFacet.parseTextEntry(currentValue, proposedPojoAsStr, InteractionInitiatedBy.USER);
                     final Consent valid = property.isAssociationValid(parentAdapter, proposedAdapter,
                             InteractionInitiatedBy.USER);
                     return valid.isAllowed() ? null : valid.getReason();
@@ -310,9 +306,8 @@ public class ScalarModel extends EntityModel implements LinksProvider {
                 final ObjectActionParameter parameter = scalarModel.getParameterMemento().getActionParameter();
                 try {
                     final ObjectAdapter parentAdapter = scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.CHECK);
-                    Localization localization = IsisContext.getLocalization(); 
                     final String invalidReasonIfAny = parameter.isValid(parentAdapter, proposedPojoAsStr,
-                            InteractionInitiatedBy.USER, localization
+                            InteractionInitiatedBy.USER
                     );
                     return invalidReasonIfAny;
                 } catch (final Exception ex) {
@@ -325,9 +320,8 @@ public class ScalarModel extends EntityModel implements LinksProvider {
                 final ObjectActionParameter parameter = scalarModel.getParameterMemento().getActionParameter();
                 try {
                     final ObjectAdapter parentAdapter = scalarModel.parentObjectAdapterMemento.getObjectAdapter(ConcurrencyChecking.CHECK);
-                    Localization localization = IsisContext.getLocalization();
                     final String invalidReasonIfAny = parameter.isValid(parentAdapter, proposedAdapter.getObject(),
-                            InteractionInitiatedBy.USER, localization
+                            InteractionInitiatedBy.USER
                     );
                     return invalidReasonIfAny;
                 } catch (final Exception ex) {
@@ -643,9 +637,8 @@ public class ScalarModel extends EntityModel implements LinksProvider {
         if (parseableFacet == null) {
             throw new RuntimeException("unable to parse string for " + getTypeOfSpecification().getFullIdentifier());
         }
-        Localization localization = IsisContext.getLocalization(); 
         final ObjectAdapter adapter = parseableFacet.parseTextEntry(getObject(), enteredText,
-                InteractionInitiatedBy.USER, localization
+                InteractionInitiatedBy.USER
         );
 
         setObject(adapter);

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/util/ComponentHintKey.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/util/ComponentHintKey.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/util/ComponentHintKey.java
index ea411c6..d3228f2 100644
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/util/ComponentHintKey.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/util/ComponentHintKey.java
@@ -136,7 +136,7 @@ public class ComponentHintKey implements Serializable {
     }
 
     protected HintStore getHintStore() {
-        return IsisContext.getPersistenceSession().getServicesInjector().lookupService(HintStore.class);
+        return IsisContext.getSessionFactory().getServicesInjector().lookupService(HintStore.class);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseHandlingStrategy.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseHandlingStrategy.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseHandlingStrategy.java
index 81a77ed..591873f 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseHandlingStrategy.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseHandlingStrategy.java
@@ -45,7 +45,7 @@ public enum ActionResultResponseHandlingStrategy {
             // force any changes in state etc to happen now prior to the redirect;
             // in the case of an object being returned, this should cause our page mementos 
             // (eg EntityModel) to hold the correct state.  I hope.
-            IsisContext.getTransactionManager().flushTransaction();
+            IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().getTransactionManager().flushTransaction();
             
             // "redirect-after-post"
             component.setResponsePage(resultResponse.getToPage());

http://git-wip-us.apache.org/repos/asf/isis/blob/83de0dc0/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
index 6b98431..136b961 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/actionresponse/ActionResultResponseType.java
@@ -136,7 +136,7 @@ public enum ActionResultResponseType {
         }
     }
     private static ObjectAdapter adapterFor(final Object pojo) {
-        return IsisContext.getPersistenceSession().adapterFor(pojo);
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession().adapterFor(pojo);
     }
 
     private static ActionResultResponse toEntityPage(final ActionModel model, final ObjectAdapter actualAdapter, final ConcurrencyException exIfAny) {

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/entityactions/EntityActionLinkFactory.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
index 336f27e..6fc405c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
@@ -93,11 +93,11 @@ public final class EntityActionLinkFactory extends ActionLinkFactoryAbstract {
     // ///////////////////////////////////////////////////////////////////
 
     protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getPersistenceSession();
     }
 
     protected AuthenticationSession getAuthenticationSession() {
-        return IsisContext.getAuthenticationSession();
+        return IsisContext.getSessionFactory().getCurrentSession().getAuthenticationSession();
     }
 
 }
\ No newline at end of file