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();