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 2015/09/17 11:46:52 UTC

[03/10] isis git commit: ISIS-1194: inlining IsisSessionFactory#init, combining ObjectReflectorDefault's init() and setRuntimeContext

ISIS-1194: inlining IsisSessionFactory#init, combining ObjectReflectorDefault's init() and setRuntimeContext


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

Branch: refs/heads/master
Commit: 5e9d28136451adf5dbb949cbd46a35d6f2069568
Parents: d0bf6e0
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Sep 16 07:42:44 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Sep 16 07:42:44 2015 +0100

----------------------------------------------------------------------
 .../isis/core/metamodel/app/IsisMetaModel.java  |  4 +-
 .../services/ServicesInjectorDefault.java       | 19 ------
 .../metamodel/services/ServicesInjectorSpi.java |  2 -
 .../services/ServicesInjectorSpiDelegator.java  | 67 --------------------
 .../metamodel/spec/SpecificationLoaderSpi.java  |  6 +-
 .../specloader/ObjectReflectorDefault.java      | 32 ++++------
 .../metamodel/facets/ProgrammableReflector.java | 16 +----
 .../ObjectReflectorDefaultTestAbstract.java     |  6 +-
 .../isis/core/runtime/system/IsisSystem.java    | 45 ++++++++-----
 .../system/session/IsisSessionFactory.java      | 30 ---------
 10 files changed, 54 insertions(+), 173 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/main/java/org/apache/isis/core/metamodel/app/IsisMetaModel.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/app/IsisMetaModel.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/app/IsisMetaModel.java
index b6a9874..79e568a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/app/IsisMetaModel.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/app/IsisMetaModel.java
@@ -122,9 +122,7 @@ public class IsisMetaModel implements ApplicationScopedComponent {
     public void init() {
         ensureNotInitialized();
 
-        runtimeContext.injectInto(specificationLoader);
-
-        specificationLoader.initialize();
+        specificationLoader.initialize(runtimeContext);
 
         for (final Object service : servicesInjector.getRegisteredServices()) {
             final ObjectSpecification serviceSpec = specificationLoader.loadSpecification(service.getClass());

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
index 8761a9b..0813295 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java
@@ -48,8 +48,6 @@ import org.apache.isis.core.commons.util.ToString;
 import org.apache.isis.core.metamodel.exceptions.MetaModelException;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.spec.InjectorMethodEvaluator;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
 import org.apache.isis.core.metamodel.specloader.InjectorMethodEvaluatorDefault;
 import org.apache.isis.core.metamodel.specloader.ServiceInitializer;
 
@@ -81,12 +79,6 @@ public class ServicesInjectorDefault implements ServicesInjectorSpi {
 
     /**
      * For testing.  
-     * 
-     * <p>
-     *     In production code, {@link #setSpecificationLoader(org.apache.isis.core.metamodel.spec.SpecificationLoader)}
-     *     Pis used instead.
-     * </p>
-     * @param injectorMethodEvaluator
      */
     public ServicesInjectorDefault(final List<Object> services, final InjectorMethodEvaluator injectorMethodEvaluator) {
         this.services.addAll(services);
@@ -95,17 +87,6 @@ public class ServicesInjectorDefault implements ServicesInjectorSpi {
         autowireServicesAndContainer();
     }
 
-//region > init, shutdown
-
-    public void init() {
-        autowireServicesAndContainer();
-    }
-
-    public void shutdown() {
-    }
-
-    //endregion
-
     //region > replaceServices
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpi.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpi.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpi.java
index 9bf8d01..ef8f7e6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpi.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpi.java
@@ -30,8 +30,6 @@ import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
  */
 public interface ServicesInjectorSpi extends ApplicationScopedComponent, ServicesInjector {
 
-    public void init();
-
     /**
      * Update an individual service.
      *

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpiDelegator.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpiDelegator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpiDelegator.java
deleted file mode 100644
index 5cdf24a..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorSpiDelegator.java
+++ /dev/null
@@ -1,67 +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.core.metamodel.services;
-
-import java.util.List;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
-
-public class ServicesInjectorSpiDelegator implements ServicesInjector {
-
-    private org.apache.isis.core.metamodel.services.ServicesInjectorSpi servicesInjectorSpi;
-
-    public void setServicesInjectorSpi(org.apache.isis.core.metamodel.services.ServicesInjectorSpi servicesInjectorSpi) {
-        this.servicesInjectorSpi = servicesInjectorSpi;
-        servicesInjectorSpi.init();
-    }
-
-    @Override
-    public List<Object> getRegisteredServices() {
-        return servicesInjectorSpi.getRegisteredServices();
-    }
-
-    @Override
-    public void injectServicesInto(Object domainObject) {
-        servicesInjectorSpi.injectServicesInto(domainObject);
-    }
-
-    @Override
-    public void injectServicesInto(List<Object> domainObjects) {
-        servicesInjectorSpi.injectServicesInto(domainObjects);
-    }
-
-    @Override
-    public <T> T lookupService(Class<T> serviceClass) {
-        return servicesInjectorSpi.lookupService(serviceClass);
-    }
-
-    @Override
-    public <T> List<T> lookupServices(Class<T> serviceClass) {
-        return servicesInjectorSpi.lookupServices(serviceClass);
-    }
-
-    @Override
-    public void injectInto(Object candidate) {
-        if (ServicesInjectorAware.class.isAssignableFrom(candidate.getClass())) {
-            final ServicesInjectorAware cast = ServicesInjectorAware.class.cast(candidate);
-            cast.setServicesInjector(this);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
index ca1d679..4f06391 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
@@ -21,14 +21,14 @@ package org.apache.isis.core.metamodel.spec;
 
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
+import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
 
 public interface SpecificationLoaderSpi extends ApplicationScopedComponent, DebuggableWithTitle, SpecificationLoader {
 
     void injectInto(final Object candidate);
 
-    public void init();
-    public void shutdown();
+    void init(final RuntimeContext runtimeContext);
+    void shutdown();
 
     void invalidateCacheFor(Object domainObject);
     

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
index 5a56437..cdea01b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
@@ -50,7 +50,6 @@ import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
 import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.runtimecontext.noruntime.RuntimeContextNoRuntime;
@@ -100,7 +99,7 @@ import static org.hamcrest.Matchers.notNullValue;
  * <p>
  * In addition, the {@link RuntimeContext} can optionally be injected, but will
  * default to {@link RuntimeContextNoRuntime} if not provided prior to
- * {@link #init() initialization}. The purpose of {@link RuntimeContext} is to
+ * {@link SpecificationLoaderSpi#init(RuntimeContext) initialization}. The purpose of {@link RuntimeContext} is to
  * allow the metamodel to be used standalone, for example in a Maven plugin. The
  * {@link RuntimeContextNoRuntime} implementation will through an exception for
  * any methods (such as finding an {@link ObjectAdapter adapter}) because there
@@ -110,7 +109,8 @@ import static org.hamcrest.Matchers.notNullValue;
  * to its <tt>IsisContext</tt>.
  */
 
-public final class ObjectReflectorDefault implements SpecificationLoaderSpi, ApplicationScopedComponent, RuntimeContextAware, DebuggableWithTitle {
+public final class ObjectReflectorDefault
+        implements SpecificationLoaderSpi, ApplicationScopedComponent, DebuggableWithTitle {
 
     private final static Logger LOG = LoggerFactory.getLogger(ObjectReflectorDefault.class);
 
@@ -123,7 +123,7 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
 
     /**
      * <p>
-     * {@link FacetDecorator}s must be added prior to {@link #init()
+     * {@link FacetDecorator}s must be added prior to {@link SpecificationLoaderSpi#init(RuntimeContext)
      * initialization.}
      */
     private final FacetDecoratorSet facetDecoratorSet;
@@ -200,10 +200,11 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
     /**
      * Initializes and wires up, and primes the cache based on any service
      * classes (provided by the {@link ServicesInjectorSpi}).
+     * @param runtimeContext
      */
-    public void init() {
+    public void init(final RuntimeContext runtimeContext) {
 
-        initialize();
+        initialize(runtimeContext);
 
         cacheBySpecId();
         
@@ -225,20 +226,22 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
         return validationFailures;
     }
 
-    public void initialize() {
+    public void initialize(final RuntimeContext runtimeContext) {
+        this.runtimeContext = runtimeContext;
+
         if (LOG.isDebugEnabled()) {
             LOG.debug("initialising " + this);
         }
 
         // default subcomponents
-        if (runtimeContext == null) {
-            runtimeContext = new RuntimeContextNoRuntime(servicesInjector, this);
+        if (this.runtimeContext == null) {
+            this.runtimeContext = new RuntimeContextNoRuntime(servicesInjector, this);
         }
 
         injectInto(metaModelValidator);
 
         // wire subcomponents into each other
-        runtimeContext.injectInto(facetProcessor);
+        this.runtimeContext.injectInto(facetProcessor);
 
         // initialize subcomponents
         facetDecoratorSet.init();
@@ -595,19 +598,12 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
     // ////////////////////////////////////////////////////////////////////
 
     /**
-     * As per {@link #setRuntimeContext(RuntimeContext)}.
+     * Injected in {@link #initialize(RuntimeContext)}.
      */
     public RuntimeContext getRuntimeContext() {
         return runtimeContext;
     }
 
-    /**
-     * Due to {@link RuntimeContextAware}.
-     */
-    @Override
-    public void setRuntimeContext(final RuntimeContext runtimeContext) {
-        this.runtimeContext = runtimeContext;
-    }
 
     // ////////////////////////////////////////////////////////////////////
     // Dependencies (setters, optional)

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ProgrammableReflector.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ProgrammableReflector.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ProgrammableReflector.java
index d243501..90dcdd7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ProgrammableReflector.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ProgrammableReflector.java
@@ -19,25 +19,21 @@
 
 package org.apache.isis.core.metamodel.facets;
 
-import java.lang.reflect.Method;
 import java.util.Collection;
 import java.util.List;
-import java.util.Map;
-import com.google.common.collect.Maps;
+
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.commons.exceptions.NotYetImplementedException;
 import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
-import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderAbstract;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 
-public class ProgrammableReflector extends SpecificationLoaderAbstract implements SpecificationLoaderSpi, ApplicationScopedComponent, RuntimeContextAware {
+public class ProgrammableReflector extends SpecificationLoaderAbstract implements SpecificationLoaderSpi, ApplicationScopedComponent {
 
-    public void init() {
+    public void init(final RuntimeContext runtimeContext) {
     }
 
     public void shutdown() {
@@ -80,12 +76,6 @@ public class ProgrammableReflector extends SpecificationLoaderAbstract implement
     public void injectInto(final Object candidate) {
     }
 
-
-    @Override
-    public void setRuntimeContext(final RuntimeContext runtimeContext) {
-        // ignored
-    }
-
     @Override
     public void debugData(final DebugBuilder debug) {
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
index 5bb9269..cdf9399 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
@@ -91,12 +91,12 @@ public abstract class ObjectReflectorDefaultTestAbstract {
                         new ProgrammingModelFacetsJava5(),
                         new HashSet<FacetDecorator>(),
                         new MetaModelValidatorDefault(),
-                        Lists.<LayoutMetadataReader>newArrayList(new LayoutMetadataReaderFromJson()), mockServicesInjector);
+                        Lists.<LayoutMetadataReader>newArrayList(
+                                new LayoutMetadataReaderFromJson()), mockServicesInjector);
         runtimeContext =
                 new RuntimeContextNoRuntime(
                         new ServicesInjectorDefault(Collections.emptyList()), reflector);
-        reflector.setRuntimeContext(runtimeContext);
-        reflector.init();
+        reflector.init(runtimeContext);
         
         specification = loadSpecification(reflector);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
index 603d74e..5e2dafe 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
@@ -28,6 +28,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.clock.Clock;
+import org.apache.isis.applib.fixtures.FixtureClock;
 import org.apache.isis.applib.fixtures.LogonFixture;
 import org.apache.isis.applib.fixturescripts.FixtureScripts;
 import org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault;
@@ -123,6 +125,17 @@ public class IsisSystem implements DebugSelection, ApplicationScopedComponent {
         localeInitializer.initLocale(getConfiguration());
         timeZoneInitializer.initTimeZone(getConfiguration());
 
+        // a bit of a workaround, but required if anything in the metamodel (for
+        // example, a
+        // ValueSemanticsProvider for a date value type) needs to use the Clock
+        // singleton
+        // we do this after loading the services to allow a service to prime a
+        // different clock
+        // implementation (eg to use an NTP time service).
+        if (!deploymentType.isProduction() && !Clock.isInitialized()) {
+            FixtureClock.initialize();
+        }
+
         try {
 
             // configuration
@@ -144,41 +157,48 @@ public class IsisSystem implements DebugSelection, ApplicationScopedComponent {
             final Collection<MetaModelRefiner> metaModelRefiners =
                     refiners(authenticationManager, authorizationManager,
                             new PersistenceSessionFactoryMetamodelRefiner());
-            final SpecificationLoaderSpi specificationLoader1 =
+            final SpecificationLoaderSpi specificationLoader =
                     isisComponentProvider.provideSpecificationLoaderSpi(deploymentType, servicesInjector, metaModelRefiners);
 
             // persistenceSessionFactory
             final PersistenceSessionFactory persistenceSessionFactory =
                     isisComponentProvider.providePersistenceSessionFactory(
-                            deploymentType, servicesInjector, specificationLoader1);
+                            deploymentType, servicesInjector, specificationLoader);
 
             // runtimeContext
             final RuntimeContextFromSession runtimeContext =
                     new RuntimeContextFromSession(
                             deploymentType.getDeploymentCategory(), configuration,
-                            servicesInjector, specificationLoader1);
+                            servicesInjector, specificationLoader);
 
             // wire up components and components into services...
-            runtimeContext.injectInto(specificationLoader1);
+            runtimeContext.injectInto(specificationLoader);
 
             for (Object service : servicesInjector.getRegisteredServices()) {
                 runtimeContext.injectInto(service);
             }
 
-            // finally instantiate
+            // instantiate
             sessionFactory = new IsisSessionFactory(
-                    deploymentType, configuration, servicesInjector, specificationLoader1,
+                    deploymentType, configuration, servicesInjector, specificationLoader,
                     authenticationManager, authorizationManager, persistenceSessionFactory);
 
             // temporarily make a configuration available
             // TODO: REVIEW: would rather inject this, or perhaps even the ConfigurationBuilder
-            IsisContext.setConfiguration(getConfiguration());
+            IsisContext.setConfiguration(configuration);
+
+            // set up the "appropriate" IsisContext (usually IsisContextThreadLocal) to hold
+            // a reference to the sessionFactory just created
+            deploymentType.initContext(sessionFactory);
+
+            specificationLoader.init(runtimeContext);
 
-            initContext(sessionFactory);
-            sessionFactory.init();
+            authenticationManager.init();
+            authorizationManager.init();
+
+            persistenceSessionFactory.init();
 
             // validate here after all entities have been registered in the persistence session factory
-            final SpecificationLoaderSpi specificationLoader = sessionFactory.getSpecificationLoader();
             specificationLoader.validateAndAssert();
 
             // store simply so can do postConstruct when shutdown
@@ -198,11 +218,6 @@ public class IsisSystem implements DebugSelection, ApplicationScopedComponent {
         return ListExtensions.filtered(Arrays.asList(possibleRefiners), MetaModelRefiner.class);
     }
 
-
-    private void initContext(final IsisSessionFactory sessionFactory) {
-        getDeploymentType().initContext(sessionFactory);
-    }
-
     /**
      * @see #shutdownServices(ServiceInitializer)
      */

http://git-wip-us.apache.org/repos/asf/isis/blob/5e9d2813/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
index 48267b1..0e3b9a9 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
@@ -109,36 +109,6 @@ public class IsisSessionFactory implements ApplicationScopedComponent {
     // init, shutdown
     // ///////////////////////////////////////////
 
-    /**
-     * Wires components as necessary, and then init}ializes all.
-     */
-    public void init() {
-
-        // a bit of a workaround, but required if anything in the metamodel (for
-        // example, a
-        // ValueSemanticsProvider for a date value type) needs to use the Clock
-        // singleton
-        // we do this after loading the services to allow a service to prime a
-        // different clock
-        // implementation (eg to use an NTP time service).
-        if (!deploymentType.isProduction() && !Clock.isInitialized()) {
-            FixtureClock.initialize();
-        }
-
-        specificationLoaderSpi.init();
-
-        // must come after init of spec loader.
-        specificationLoaderSpi.injectInto(persistenceSessionFactory);
-
-        authenticationManager.init();
-        authorizationManager.init();
-
-        servicesInjector.init();
-
-        persistenceSessionFactory.init();
-    }
-
-
     public void shutdown() {
         persistenceSessionFactory.shutdown();
         authenticationManager.shutdown();