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/05/20 13:34:16 UTC

[41/51] [abbrv] isis git commit: ISIS-1408: removing RuntimeContext, ObjectSpecificationDependencies, ObjectMemberDependencies (WIP)

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index c65c0fb..769b83e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -50,16 +50,15 @@ import org.apache.isis.core.metamodel.facets.object.plural.inferred.PluralFacetI
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
 import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
 import org.apache.isis.core.metamodel.facets.object.wizard.WizardFacet;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecificationDependencies;
-import org.apache.isis.core.metamodel.spec.ObjectSpecificationException;
 import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
 import org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor;
+import org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor;
 import org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder;
 import org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilderContext;
 import org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault;
@@ -99,9 +98,10 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
     public ObjectSpecificationDefault(
             final Class<?> correspondingClass,
             final FacetedMethodsBuilderContext facetedMethodsBuilderContext,
-            final ObjectSpecificationDependencies specContext,
-            final ObjectMemberDependencies objectMemberDependencies) {
-        super(correspondingClass, determineShortName(correspondingClass), specContext, objectMemberDependencies);
+            final ServicesInjector servicesInjector,
+            final FacetProcessor facetProcessor) {
+        super(correspondingClass, determineShortName(correspondingClass),
+                servicesInjector, facetProcessor);
 
         this.facetedMethodsBuilder = new FacetedMethodsBuilder(this, facetedMethodsBuilderContext);
     }
@@ -222,9 +222,9 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
 
     private ObjectAssociation createAssociation(final FacetedMethod facetMethod) {
         if (facetMethod.getFeatureType().isCollection()) {
-            return new OneToManyAssociationDefault(facetMethod, objectMemberDependencies);
+            return new OneToManyAssociationDefault(facetMethod, servicesInjector);
         } else if (facetMethod.getFeatureType().isProperty()) {
-            return new OneToOneAssociationDefault(facetMethod, objectMemberDependencies);
+            return new OneToOneAssociationDefault(facetMethod, servicesInjector);
         } else {
             return null;
         }
@@ -245,7 +245,7 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
 
     private ObjectAction createAction(final FacetedMethod facetedMethod) {
         if (facetedMethod.getFeatureType().isAction()) {
-            return new ObjectActionDefault(facetedMethod, objectMemberDependencies);
+            return new ObjectActionDefault(facetedMethod, servicesInjector);
         } else {
             return null;
         }
@@ -266,32 +266,6 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
         isService = true;
     }
 
-    private void ensureServiceHasNoAssociations() {
-        final List<ObjectAssociation> associations = getAssociations(Contributed.EXCLUDED);
-        final StringBuilder buf = new StringBuilder();
-        for (final ObjectAssociation association : associations) {
-            final String name = association.getId();
-            // services are allowed to have one association, called 'id'
-            if (!isValidAssociationForService(name)) {
-                appendAssociationName(buf, name);
-            }
-        }
-        if (buf.length() > 0) {
-            throw new ObjectSpecificationException("Service object " + getFullIdentifier() + " should have no fields, but has: " + buf);
-        }
-    }
-
-    /**
-     * Services are allowed to have one association, called 'id'.
-     */
-    private boolean isValidAssociationForService(final String associationId) {
-        return "id".indexOf(associationId) != -1;
-    }
-
-    private void appendAssociationName(final StringBuilder fieldNames, final String name) {
-        fieldNames.append(fieldNames.length() > 0 ? ", " : "");
-        fieldNames.append(name);
-    }
 
 
     // //////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/ObjectSpecificationOnStandaloneList.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/ObjectSpecificationOnStandaloneList.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/ObjectSpecificationOnStandaloneList.java
index a963d6e..e810f58 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/ObjectSpecificationOnStandaloneList.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/ObjectSpecificationOnStandaloneList.java
@@ -19,20 +19,19 @@
 
 package org.apache.isis.core.metamodel.specloader.specimpl.standalonelist;
 
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetDefaultToObject;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.FreeStandingList;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecificationDependencies;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
+import org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor;
 import org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract;
 
 /**
@@ -50,9 +49,9 @@ public class ObjectSpecificationOnStandaloneList extends ObjectSpecificationAbst
     private static final String ICON_NAME = "instances";
 
     public ObjectSpecificationOnStandaloneList(
-            final ObjectSpecificationDependencies objectSpecificationDependencies,
-            final ObjectMemberDependencies objectMemberDependencies) {
-        super(FreeStandingList.class, NAME, objectSpecificationDependencies, objectMemberDependencies);
+            final ServicesInjector servicesInjector,
+            final FacetProcessor facetProcessor) {
+        super(FreeStandingList.class, NAME, servicesInjector, facetProcessor);
     }
 
     // /////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/auditable/AuditableAnnotationInJdoApplibFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/auditable/AuditableAnnotationInJdoApplibFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/auditable/AuditableAnnotationInJdoApplibFacetFactory.java
index be088af..4c75458 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/auditable/AuditableAnnotationInJdoApplibFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/auditable/AuditableAnnotationInJdoApplibFacetFactory.java
@@ -25,7 +25,6 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
 import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
@@ -65,8 +64,7 @@ public class AuditableAnnotationInJdoApplibFacetFactory extends FacetFactoryAbst
     @Override
     public void setServicesInjector(final ServicesInjector servicesInjector) {
         super.setServicesInjector(servicesInjector);
-        IsisConfiguration configuration = (IsisConfiguration) servicesInjector
-                .lookupService(ConfigurationServiceInternal.class);
+        IsisConfiguration configuration = (IsisConfiguration) servicesInjector.getConfigurationServiceInternal();
         validator.setConfiguration(configuration);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
index cf53416..a07d2b0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
@@ -39,9 +39,9 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.facetapi.MethodRemover;
 import org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete.AutoCompleteFacetForDomainObjectAnnotation;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.services.transtate.TransactionStateProviderInternal;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneActionParameter;
@@ -58,7 +58,7 @@ public abstract class AbstractFacetFactoryJUnit4TestCase {
     @Mock
     protected SpecificationLoader mockSpecificationLoader;
     @Mock
-    protected PersistenceSessionServiceInternal mockAdapterManager;
+    protected PersistenceSessionServiceInternal mockPersistenceSessionServiceInternal;
     @Mock
     protected MethodRemover mockMethodRemover;
     @Mock
@@ -67,6 +67,8 @@ public abstract class AbstractFacetFactoryJUnit4TestCase {
     protected ServicesInjector mockServicesInjector;
     @Mock
     protected TranslationService mockTranslationService;
+    @Mock
+    protected TransactionStateProviderInternal mockTransactionStateProviderInternal;
 
     @Mock
     protected IsisConfigurationDefault mockConfiguration;
@@ -111,19 +113,25 @@ public abstract class AbstractFacetFactoryJUnit4TestCase {
             allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
             will(returnValue(mockDeploymentCategoryProvider));
 
+            allowing(mockServicesInjector).lookupService(TransactionStateProviderInternal.class);
+            will(returnValue(mockTransactionStateProviderInternal));
+
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
 
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(mockConfiguration));
 
+            allowing(mockServicesInjector).getPersistenceSessionServiceInternal();
+            will(returnValue(mockPersistenceSessionServiceInternal));
+
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
 
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
+            allowing(mockServicesInjector).getSpecificationLoader();
             will(returnValue(mockSpecificationLoader));
 
         }});

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
index 6e8805a..aa026ed 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
@@ -36,8 +36,9 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.metamodel.services.transtate.TransactionStateProviderInternal;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
@@ -68,6 +69,9 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
     protected AuthenticationSessionProvider mockAuthenticationSessionProvider;
     protected AuthenticationSession mockAuthenticationSession;
 
+    protected TransactionStateProviderInternal mockTransactionStateProviderInternal;
+    protected PersistenceSessionServiceInternal mockPersistenceSessionServiceInternal;
+
     protected IsisConfigurationDefault stubConfiguration;
     protected SpecificationLoader mockSpecificationLoader;
     protected ProgrammableMethodRemover methodRemover;
@@ -109,6 +113,9 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
         stubConfiguration = new IsisConfigurationDefault();
         mockAuthenticationSession = context.mock(AuthenticationSession.class);
 
+        mockPersistenceSessionServiceInternal = context.mock(PersistenceSessionServiceInternal.class);
+        mockTransactionStateProviderInternal = context.mock(TransactionStateProviderInternal.class);
+
         mockSpecificationLoader = context.mock(SpecificationLoader.class);
 
         context.checking(new Expectations() {{
@@ -116,13 +123,13 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
 
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(stubConfiguration));
 
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
+            allowing(mockServicesInjector).getSpecificationLoader();
             will(returnValue(mockSpecificationLoader));
 
             allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
@@ -133,7 +140,22 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
 
             allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
             will(returnValue(mockAuthenticationSession));
+
+            allowing(mockServicesInjector).getPersistenceSessionServiceInternal();
+            will(returnValue(mockPersistenceSessionServiceInternal));
+
+            allowing(mockServicesInjector).lookupService(TransactionStateProviderInternal.class);
+            will(returnValue(mockTransactionStateProviderInternal));
+
+            allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
+            will(returnValue(mockAuthenticationSession));
+
+            allowing(mockServicesInjector).lookupService(TranslationService.class);
+            will(returnValue(mockTranslationService));
+
         }});
+
+
     }
 
     protected void allowing_specificationLoader_loadSpecification_any_willReturn(final ObjectSpecification objectSpecification) {

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
index c965186..841f0a3 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
@@ -80,8 +80,8 @@ import org.apache.isis.core.metamodel.facets.param.defaults.methodnum.ActionPara
 import org.apache.isis.core.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.metamodel.testspec.ObjectSpecificationStub;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -98,11 +98,14 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
     private AuthenticationSessionProvider mockAuthenticationSessionProvider;
     private ConfigurationServiceInternal stubConfigurationServiceInternal;
     private TranslationService mockTranslationService;
+    private PersistenceSessionServiceInternal mockPersistenceSessionServiceInternal;
+
 
     public void setUp() throws Exception {
         super.setUp();
         mockServicesInjector = context.mock(ServicesInjector.class);
         mockTranslationService = context.mock(TranslationService.class);
+        mockPersistenceSessionServiceInternal = context.mock(PersistenceSessionServiceInternal.class);
 
         mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
         mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
@@ -123,20 +126,20 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(stubConfigurationServiceInternal));
 
             allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
             will(returnValue(mockDeploymentCategoryProvider));
 
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
+            allowing(mockServicesInjector).getSpecificationLoader();
             will(returnValue(mockSpecificationLoader));
 
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
 
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
-            will(returnValue(mockSpecificationLoader));
+            allowing(mockServicesInjector).getPersistenceSessionServiceInternal();
+            will(returnValue(mockPersistenceSessionServiceInternal));
 
         }});
 

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
index ef2bf37..cac11d7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
@@ -88,7 +88,6 @@ import org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionPayl
 import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
 import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacetAbstract;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 import static org.apache.isis.core.commons.matchers.IsisMatchers.classEqualTo;
@@ -133,7 +132,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(mockConfiguration));
 
             allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
index b72a0e7..5e105a7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
@@ -39,7 +39,6 @@ import org.apache.isis.core.metamodel.facets.param.choices.ActionParameterChoice
 import org.apache.isis.core.metamodel.facets.param.choices.methodnum.ActionParameterChoicesFacetViaMethod;
 import org.apache.isis.core.metamodel.facets.param.choices.methodnum.ActionParameterChoicesFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.metamodel.testspec.ObjectSpecificationStub;
 
 public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractFacetFactoryTest {
@@ -53,25 +52,6 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         super.setUp();
         this.facetFactory =  new ActionAnnotationFacetFactory();;
 
-        context.checking(new Expectations() {{
-
-            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
-            will(returnValue(mockAuthenticationSessionProvider));
-
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
-            will(returnValue(mockSpecificationLoader));
-
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
-            will(returnValue(mockSpecificationLoader));
-
-        }});
-
         facetFactory.setServicesInjector(mockServicesInjector);
 
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
index 9666789..1b06fc7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
@@ -73,57 +73,15 @@ import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenF
 import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethod;
 import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethodFactory;
 import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
 public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
 
     private JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
 
-    private ServicesInjector mockServicesInjector;
-    private TranslationService mockTranslationService;
-    private DeploymentCategoryProvider mockDeploymentCategoryProvider;
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
-
     public void setUp() throws Exception {
         super.setUp();
 
-        mockServicesInjector = context.mock(ServicesInjector.class);
-        mockTranslationService = context.mock(TranslationService.class);
-
-        mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
-        mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
-
-        final AuthenticationSession mockAuthenticationSession = context.mock(AuthenticationSession.class);
-
-        context.checking(new Expectations() {{
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-
-            allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
-            will(returnValue(mockAuthenticationSession));
-
-            allowing(mockServicesInjector).lookupService(TranslationService.class);
-            will(returnValue(mockTranslationService));
-
-            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
-            will(returnValue(mockAuthenticationSessionProvider));
-
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
-            will(returnValue(stubConfiguration));
-
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
-            will(returnValue(mockSpecificationLoader));
-
-        }});
 
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index 2512efb..b9a7fd6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -123,7 +123,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
             FacetUtil.addFacet(new PropertyOrCollectionAccessorFacetAbstract(holder, mockDeploymentCategoryProvider.getDeploymentCategory(),
                     mockConfiguration,
                     mockSpecificationLoader, mockAuthenticationSessionProvider,
-                    mockAdapterManager
+                    mockPersistenceSessionServiceInternal
             ) {
                 @Override
                 public Object getProperty(

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
index 5898a53..4f601c3 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
@@ -28,7 +28,6 @@ import org.apache.isis.applib.RecreatableDomainObject;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
 import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
@@ -73,7 +72,7 @@ public class ViewModelSemanticCheckingFacetFactoryTest {
         facetFactory = new ViewModelSemanticCheckingFacetFactory();
 
         context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(mockConfiguration));
         }});
 

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
index 418262e..7d18c7f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/title/annotation/TitleAnnotationFacetFactoryTest.java
@@ -46,8 +46,6 @@ import org.apache.isis.core.metamodel.facets.object.title.annotation.TitleFacetV
 import org.apache.isis.core.metamodel.facets.object.title.annotation.TitleFacetViaTitleAnnotation.TitleComponent;
 import org.apache.isis.core.metamodel.services.l10n.LocalizationDefault;
 import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternal;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Allowing;
 
 import static org.hamcrest.CoreMatchers.is;
@@ -90,11 +88,11 @@ public class TitleAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
                 allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
                 will(returnValue(mockAuthenticationSession));
 
-                allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
+                allowing(mockServicesInjector).getSpecificationLoader();
                 will(returnValue(mockSpecificationLoader));
 
-                allowing(mockServicesInjector).lookupService(PersistenceSessionServiceInternal.class);
-                will(returnValue(mockAdapterManager));
+                allowing(mockServicesInjector).getPersistenceSessionServiceInternal();
+                will(returnValue(mockPersistenceSessionServiceInternal));
             }
         });
 

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
index b34235c..2b5c1e7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
@@ -36,7 +36,6 @@ import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
 import org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForMustSatisfyAnnotationOnParameter;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithMustSatisfyAnnotations;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithoutMustSatisfyAnnotations;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -77,7 +76,7 @@ public class MustSatisfySpecificationFacetFactoryProcessParameterTest {
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
 
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(stubConfiguration));
 
             allowing(mockServicesInjector).injectServicesInto(with(any(List.class)));

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
index a244d7c..f811212 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
@@ -37,7 +37,6 @@ import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.properties.property.mustsatisfy.MustSatisfySpecificationFacetForMustSatisfyAnnotationOnProperty;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithMustSatisfyAnnotations;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithoutMustSatisfyAnnotations;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -76,7 +75,7 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
 
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(mockConfiguration));
 
             allowing(mockServicesInjector).injectServicesInto(with(any(List.class)));

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index c617fdb..8d6b41e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -129,7 +129,7 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             FacetUtil.addFacet(new PropertyOrCollectionAccessorFacetAbstract(holder, mockDeploymentCategoryProvider.getDeploymentCategory(),
                     mockConfiguration,
                     mockSpecificationLoader, mockAuthenticationSessionProvider,
-                    mockAdapterManager
+                    mockPersistenceSessionServiceInternal
             ) {
                 @Override
                 public Object getProperty(

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
index 9a92858..b5a2dc0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -43,8 +43,6 @@ import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
 import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson;
 import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.l10n.LocalizationProviderInternal;
 import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
@@ -63,8 +61,6 @@ public abstract class SpecificationLoaderTestAbstract {
     @Rule
     public ExpectedException expectedException = ExpectedException.none();
 
-    private RuntimeContext runtimeContext;
-
     @Mock
     private IsisConfigurationDefault mockConfiguration;
     @Mock
@@ -96,7 +92,7 @@ public abstract class SpecificationLoaderTestAbstract {
         context.checking(new Expectations() {{
             ignoring(mockConfiguration);
 
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            allowing(mockServicesInjector).getConfigurationServiceInternal();
             will(returnValue(new IsisConfigurationDefault(null)));
 
             allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
@@ -108,7 +104,7 @@ public abstract class SpecificationLoaderTestAbstract {
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
-            allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
+            allowing(mockServicesInjector).getSpecificationLoader();
             will(returnValue(mockSpecificationLoader));
 
             allowing(mockServicesInjector).lookupService(GridService.class);
@@ -129,13 +125,6 @@ public abstract class SpecificationLoaderTestAbstract {
 
         }});
 
-        final SpecificationLoader reflector =
-                new SpecificationLoader(DeploymentCategory.PRODUCTION,
-                        mockConfiguration,
-                        new ProgrammingModelFacetsJava5(),
-                        new MetaModelValidatorDefault(),
-                        Lists.<LayoutMetadataReader>newArrayList(
-                                new LayoutMetadataReaderFromJson()), mockServicesInjector);
         final ServicesInjector servicesInjector =
                 new ServicesInjector(Lists.newArrayList(
                         mockPersistenceSessionServiceInternal,
@@ -146,8 +135,15 @@ public abstract class SpecificationLoaderTestAbstract {
                         mockConfiguration,
                         mockSpecificationLoader,
                         mockDeploymentCategoryProvider));
-        runtimeContext = new RuntimeContext(servicesInjector);
-        reflector.init(runtimeContext);
+
+        final SpecificationLoader reflector =
+                new SpecificationLoader(DeploymentCategory.PRODUCTION,
+                        mockConfiguration,
+                        new ProgrammingModelFacetsJava5(),
+                        new MetaModelValidatorDefault(),
+                        Lists.<LayoutMetadataReader>newArrayList(
+                                new LayoutMetadataReaderFromJson()), servicesInjector);
+        reflector.init();
         
         specification = loadSpecification(reflector);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
index 766fb04..aeb7377 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
@@ -36,8 +36,9 @@ import org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedF
 import org.apache.isis.core.metamodel.facets.properties.choices.PropertyChoicesFacet;
 import org.apache.isis.core.metamodel.interactions.UsabilityContext;
 import org.apache.isis.core.metamodel.interactions.VisibilityContext;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
@@ -56,6 +57,10 @@ public class ObjectAssociationAbstractTest {
 
     @Mock
     private ObjectSpecification objectSpecification;
+    @Mock
+    private ServicesInjector mockServicesInjector;
+    @Mock
+    private SpecificationLoader mockSpecificationLoader;
 
 
     public static class Customer {
@@ -69,9 +74,13 @@ public class ObjectAssociationAbstractTest {
     @Before
     public void setup() {
         facetedMethod = FacetedMethod.createForProperty(Customer.class, "firstName");
-        
-        objectAssociation = new ObjectAssociationAbstract(facetedMethod, FeatureType.PROPERTY, objectSpecification, new ObjectMemberDependencies(
-                null, null, null)) {
+
+        context.checking(new Expectations() {{
+            allowing(mockServicesInjector).getSpecificationLoader();
+            will(returnValue(mockSpecificationLoader));
+        }});
+
+        objectAssociation = new ObjectAssociationAbstract(facetedMethod, FeatureType.PROPERTY, objectSpecification, mockServicesInjector) {
 
             @Override
             public ObjectAdapter get(

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
index 375c636..999ec2a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.core.metamodel.specloader.specimpl;
 
+import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
@@ -36,8 +37,9 @@ import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract;
 import org.apache.isis.core.metamodel.interactions.UsabilityContext;
 import org.apache.isis.core.metamodel.interactions.VisibilityContext;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
@@ -55,6 +57,11 @@ public class ObjectAssociationAbstractTest_alwaysHidden {
     @Mock
     private ObjectSpecification mockObjectSpecification;
 
+    @Mock
+    private ServicesInjector mockServicesInjector;
+    @Mock
+    private SpecificationLoader mockSpecificationLoader;
+
     public static class Customer {
         public String getFirstName() {
             return null;
@@ -64,10 +71,15 @@ public class ObjectAssociationAbstractTest_alwaysHidden {
     @Before
     public void setup() {
         facetedMethod = FacetedMethod.createForProperty(Customer.class, "firstName");
-        
+
+        context.checking(new Expectations() {{
+            allowing(mockServicesInjector).getSpecificationLoader();
+            will(returnValue(mockSpecificationLoader));
+        }});
+
         objectAssociation = new ObjectAssociationAbstract(
                 facetedMethod, FeatureType.PROPERTY, mockObjectSpecification,
-                new ObjectMemberDependencies(null, null, null)) {
+                mockServicesInjector) {
 
             @Override
             public ObjectAdapter get(

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
index ef42b18..e921400 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
@@ -42,7 +42,6 @@ import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFac
 import org.apache.isis.core.metamodel.interactions.ObjectTitleContext;
 import org.apache.isis.core.metamodel.interactions.ObjectValidityContext;
 import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
@@ -69,14 +68,13 @@ public class ObjectSpecificationStub extends FacetHolderImpl implements ObjectSp
     private Persistability persistable;
     private boolean isEncodeable;
 
-    private RuntimeContext runtimeContext;
+    private ServicesInjector servicesInjector;
 
     public ObjectSpecificationStub(final Class<?> type) {
         this(type.getName());
-        ServicesInjector servicesInjector = new ServicesInjector(Collections.emptyList());
+        this.servicesInjector = new ServicesInjector(Collections.emptyList());
         servicesInjector.addFallbackIfRequired(
                 ConfigurationServiceInternal.class, new IsisConfigurationDefault(null));
-        runtimeContext = new RuntimeContext(servicesInjector);
     }
 
     @Override
@@ -366,14 +364,6 @@ public class ObjectSpecificationStub extends FacetHolderImpl implements ObjectSp
         return null;
     }
 
-    /**
-     * @deprecated - unused ?
-     * @return
-     */
-    @Deprecated
-    public RuntimeContext getRuntimeContext() {
-        return runtimeContext;
-    }
 
     // /////////////////////////////////////////////////////////////
     // introspection

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailServiceDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailServiceDefault.java
index bac3ad4..a207537 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailServiceDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailServiceDefault.java
@@ -24,20 +24,21 @@ import java.util.Properties;
 import javax.activation.DataSource;
 import javax.annotation.PostConstruct;
 
+import com.google.common.base.Strings;
+
 import org.apache.commons.mail.DefaultAuthenticator;
 import org.apache.commons.mail.EmailException;
 import org.apache.commons.mail.ImageHtmlEmail;
 import org.apache.commons.mail.resolver.DataSourceClassPathResolver;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.email.EmailService;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Strings;
 
 /**
  * A service that sends email notifications when specific events occur
@@ -193,6 +194,4 @@ public class EmailServiceDefault implements EmailService {
     }
     //endregion
 
-
-
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/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 3a2048c..1a5c1a6 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
@@ -40,7 +40,6 @@ import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.commons.lang.ListExtensions;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.ServiceInitializer;
@@ -174,9 +173,6 @@ public class IsisSystem implements ApplicationScopedComponent {
                             deploymentType, servicesInjector);
             servicesInjector.addFallbackIfRequired(PersistenceSessionFactory.class, persistenceSessionFactory);
 
-            // runtimeContext
-            final RuntimeContext runtimeContext = new RuntimeContext(servicesInjector);
-
             // wire up components and components into services...
             for (Object service : servicesInjector.getRegisteredServices()) {
                 // inject itself into each service (if implements ServiceInjectorAware).
@@ -189,14 +185,14 @@ public class IsisSystem implements ApplicationScopedComponent {
                     authenticationManager, authorizationManager, persistenceSessionFactory);
 
             // temporarily make a configuration available
-            // TODO: REVIEW: would rather inject this, or perhaps even the ConfigurationBuilder
+            // TODO: REVIEW: would rather inject this
             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);
+            specificationLoader.init();
 
             try {
                 // validate here after all entities have been registered in the persistence session factory

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionLayoutXmlDefaultTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionLayoutXmlDefaultTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionLayoutXmlDefaultTest.java
index 927466f..426c070 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionLayoutXmlDefaultTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionLayoutXmlDefaultTest.java
@@ -27,15 +27,14 @@ import org.junit.Test;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
 import org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
@@ -79,9 +78,7 @@ public class ObjectActionLayoutXmlDefaultTest {
             }
         });
 
-        action = new ObjectActionDefault(mockFacetedMethod, new ObjectMemberDependencies(
-                mockSpecificationLookup, mockServicesInjector,
-                mockPersistenceSessionServiceInternal));
+        action = new ObjectActionDefault(mockFacetedMethod, mockServicesInjector);
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
index 9ca1ae0..ff616aa 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
@@ -47,10 +47,10 @@ import org.apache.isis.core.metamodel.interactions.PropertyUsabilityContext;
 import org.apache.isis.core.metamodel.interactions.PropertyVisibilityContext;
 import org.apache.isis.core.metamodel.interactions.UsabilityContext;
 import org.apache.isis.core.metamodel.interactions.VisibilityContext;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
 import org.apache.isis.core.metamodel.specloader.specimpl.ObjectMemberAbstract;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder.Persistence;
@@ -83,6 +83,8 @@ public class ObjectMemberAbstractTest {
     @Mock
     private SpecificationLoader mockSpecificationLoader;
     @Mock
+    ServicesInjector mockServicesInjector;
+    @Mock
     private ObjectSpecification mockSpecForCustomer;
 
     @Mock
@@ -270,8 +272,7 @@ class ObjectMemberAbstractImpl extends ObjectMemberAbstract {
     }
 
     protected ObjectMemberAbstractImpl(final String id) {
-        super(FacetedMethod.createForProperty(Customer.class, "firstName"), FeatureType.PROPERTY, new ObjectMemberDependencies(
-                null, null, null));
+        super(FacetedMethod.createForProperty(Customer.class, "firstName"), FeatureType.PROPERTY, null);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationDefaultTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationDefaultTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationDefaultTest.java
index 42b214d..25076ce 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationDefaultTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationDefaultTest.java
@@ -28,8 +28,6 @@ import org.junit.Test;
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
@@ -37,10 +35,11 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
 import org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.metamodel.specloader.specimpl.OneToManyAssociationDefault;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
@@ -94,9 +93,7 @@ public class OneToManyAssociationDefaultTest {
         allowingPeerToReturnCollectionType();
         allowingPeerToReturnIdentifier();
         allowingSpecLoaderToReturnSpecs();
-        association = new OneToManyAssociationDefault(mockPeer, new ObjectMemberDependencies(
-                mockSpecificationLookup, mockServicesInjector,
-                mockPersistenceSessionServiceInternal));
+        association = new OneToManyAssociationDefault(mockPeer, mockServicesInjector);
     }
 
     private void allowingSpecLoaderToReturnSpecs() {

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
index 2c66f00..276631e 100644
--- a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
+++ b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
@@ -51,13 +51,12 @@ import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyCle
 import org.apache.isis.core.metamodel.facets.properties.update.init.PropertyInitializationFacetViaSetterMethod;
 import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacetViaModifyMethod;
 import org.apache.isis.core.metamodel.facets.properties.validating.method.PropertyValidateFacetViaMethod;
-import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.command.CommandDtoServiceInternal;
+import org.apache.isis.core.metamodel.services.msgbroker.MessageBrokerServiceInternal;
+import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationDefault;
 import org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault;
@@ -104,8 +103,6 @@ public class WrapperFactoryDefaultTest_wrappedObject {
     @Mock
     private IsisConfiguration mockConfiguration;
 
-    private ObjectMemberDependencies objectMemberDependencies;
-
     @Mock
     private ObjectSpecificationDefault mockEmployeeSpec;
     private ObjectMember employeeNameMember;
@@ -134,11 +131,6 @@ public class WrapperFactoryDefaultTest_wrappedObject {
     @Before
     public void setUp() {
 
-
-        objectMemberDependencies = new ObjectMemberDependencies(
-                mockSpecificationLoader, mockServicesInjector,
-                mockPersistenceSessionServiceInternal);
-
         employeeRepository = new EmployeeRepositoryImpl();
 
         employeeDO = new Employee();
@@ -171,7 +163,7 @@ public class WrapperFactoryDefaultTest_wrappedObject {
                 allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
                 will(returnValue(DeploymentCategory.PRODUCTION));
 
-                allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
+                allowing(mockServicesInjector).getSpecificationLoader();
                 will(returnValue(mockSpecificationLoader));
 
                 allowing(mockSpecificationLoader).loadSpecification(String.class);
@@ -219,7 +211,7 @@ public class WrapperFactoryDefaultTest_wrappedObject {
         employeeNameMember = new OneToOneAssociationDefault(
                 facetedMethodForProperty(
                         employeeSetNameMethod, employeeGetNameMethod, employeeModifyNameMethod, employeeClearNameMethod, employeeHideNameMethod, employeeDisableNameMethod, employeeValidateNameMethod),
-                objectMemberDependencies);
+                mockServicesInjector);
 
         context.checking(new Expectations() {
             {

http://git-wip-us.apache.org/repos/asf/isis/blob/03a1bd1c/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
index ffacc15..66f5eaf 100644
--- a/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
+++ b/core/wrapper/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
@@ -131,7 +131,7 @@ public class WrapperFactoryDefaultTest_wrappedObject_transient {
 
         context.checking(new Expectations() {
             {
-                allowing(mockServicesInjector).lookupService(SpecificationLoader.class);
+                allowing(mockServicesInjector).getSpecificationLoader();
                 will(returnValue(mockSpecificationLoader));
 
                 allowing(mockDeploymentCategoryProvider).getDeploymentCategory();