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/19 08:41:47 UTC

[04/10] isis git commit: ISIS-1404: AuthenticationSessionProvider is now a domain service; removed the AuthenticationSessionProviderAbstract and Aware interfaces.

ISIS-1404: AuthenticationSessionProvider is now a domain service; removed the AuthenticationSessionProviderAbstract and Aware interfaces.

In addition, FacetFactoryAbstract now implements ServiceInjectorAware, none of the subclass FacetFactorys do.  The intention here is that we can just let FacetFactory reach into ServicesInjector to pull out the domain services, such as AuthenticationSessionProvider impl'n.


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

Branch: refs/heads/ISIS-1406
Commit: 70bbd7aa62347d9f078cedec7589583f135d7689
Parents: 1b8ac93
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue May 17 23:56:35 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue May 17 23:56:35 2016 +0100

----------------------------------------------------------------------
 .../AuthenticationSessionProvider.java          |  14 +-
 .../AuthenticationSessionProviderAbstract.java  |  29 --
 .../AuthenticationSessionProviderAware.java     |  29 --
 .../metamodel/facets/FacetFactoryAbstract.java  |  27 +-
 .../action/ActionAnnotationFacetFactory.java    |  22 +-
 .../ActionValidationFacetViaMethodFactory.java  |  10 +-
 .../all/i18n/TranslationFacetFactory.java       |  11 +-
 .../CollectionAnnotationFacetFactory.java       |   7 +-
 ...nAddToRemoveFromAndValidateFacetFactory.java |  14 +-
 ...FacetOnActionFromConfiguredRegexFactory.java |  12 +-
 .../DisableForContextFacetViaMethodFactory.java |  11 +-
 .../annotprop/MemberOrderFacetFactory.java      |   9 +-
 .../autocomplete/AutoCompleteFacetAbstract.java |   3 +-
 .../enums/EnumValueSemanticsProvider.java       |   2 +-
 ...FacetAnnotationElseConfigurationFactory.java |  15 +-
 .../DisabledObjectFacetViaMethodFactory.java    |  11 +-
 .../DomainObjectAnnotationFacetFactory.java     |  11 +-
 ...oCompleteFacetForAutoCompleteAnnotation.java |   7 +-
 ...oCompleteFacetForDomainObjectAnnotation.java |   2 +-
 .../DomainObjectLayoutFacetFactory.java         |   5 -
 ...FacetAnnotationElseConfigurationFactory.java |   9 +-
 .../facets/object/grid/GridFacetFactory.java    |   9 +-
 .../MixinFacetForMixinAnnotationFactory.java    |   8 +-
 .../parseable/ParseableFacetAbstract.java       |  18 +-
 .../annotcfg/ParseableFacetAnnotation.java      |  21 +-
 ...FacetAnnotationElseConfigurationFactory.java |  22 +-
 .../ParseableFacetFromConfiguration.java        |  10 +-
 .../parser/ParseableFacetUsingParser.java       |  13 +-
 .../RecreatableObjectFacetFactory.java          |  10 +-
 .../methods/TitleFacetViaMethodsFactory.java    |  10 +-
 ...MustSatisfyAnnotationOnTypeFacetFactory.java |  10 +-
 .../ValidateObjectFacetMethodFactory.java       |   7 +-
 .../facets/object/value/ValueFacetAbstract.java |  10 +-
 ...ueFacetAnnotationOrConfigurationFactory.java |  27 +-
 ...ValueFacetUsingSemanticsProviderFactory.java |  17 +-
 .../ValueSemanticsProviderAndFacetAbstract.java |  13 +-
 .../vsp/ValueSemanticsProviderContext.java      |  19 +-
 .../ParameterAnnotationFacetFactory.java        |   7 -
 .../PropertyAnnotationFacetFactory.java         |   9 +-
 .../update/PropertyModifyFacetFactory.java      |  10 +-
 .../PropertyValidateFacetViaMethodFactory.java  |  12 +-
 .../runtimecontext/RuntimeContext.java          |  12 -
 .../runtimecontext/RuntimeContextAbstract.java  |   1 -
 .../noruntime/RuntimeContextNoRuntime.java      |  12 -
 .../container/DomainObjectContainerDefault.java |  16 +-
 .../services/user/UserServiceDefault.java       |  23 +-
 .../actions/ActionMethodsFacetFactoryTest.java  | 160 +++++++-
 .../PrototypeFacetAnnotationFactoryTest.java    |   8 +-
 .../ExplorationFacetAnnotationFactoryTest.java  |   6 +-
 .../CollectionFieldMethodsFacetFactoryTest.java | 208 ++++++++--
 ...etFromBoundedMarkerInterfaceFactoryTest.java |   8 +-
 ...esFacetFromBoundedAnnotationFactoryTest.java |   8 +-
 .../TitleAnnotationFacetFactoryTest.java        |   6 +-
 ...tAnnotationElseConfigurationFactoryTest.java |   8 +-
 .../ParseableFacetUsingParserTest.java          |   4 +-
 ...cetAnnotationOrConfigurationFactoryTest.java |   8 +-
 .../PropertyMethodsFacetFactoryTest.java        | 247 ++++++++++--
 .../ValueSemanticsProviderAbstractTestCase.java |   4 +-
 .../internal/RuntimeContextFromSession.java     |  17 +-
 .../AuthenticationSessionProviderDefault.java   |  34 ++
 .../wicket/viewer/IsisWicketApplication.java    |  13 +-
 .../wicket/AuthenticatedWebSessionForIsis.java  |  15 +-
 .../viewer/wicket/model/models/ScalarModel.java |   4 +-
 .../entityactions/EntityActionUtil.java         |   8 +-
 .../collection/bulk/BulkActionsLinkFactory.java |   4 +-
 .../FormComponentPanelAbstract.java             |  14 +-
 .../viewer/wicket/ui/panels/FormAbstract.java   |  27 +-
 .../viewer/wicket/ui/panels/PanelAbstract.java  |  12 +-
 .../core/wrapper/WrapperFactoryDefault.java     |  23 +-
 ...WrapperFactoryDefaultTest_wrappedObject.java | 390 +++++++++++++++++++
 ...toryDefaultTest_wrappedObject_transient.java | 275 +++++++++++++
 ...WrapperFactoryDefaultTest_wrappedObject.java | 389 ------------------
 ...toryDefaultTest_wrappedObject_transient.java | 276 -------------
 73 files changed, 1446 insertions(+), 1316 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java
index fa03a54..cd77a66 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProvider.java
@@ -16,16 +16,14 @@
  */
 package org.apache.isis.core.commons.authentication;
 
-public interface AuthenticationSessionProvider {
+import org.apache.isis.applib.annotation.Programmatic;
 
-    void injectInto(final Object candidate);
+/**
+ * This is implemented by an (internal) domain service
+ */
+public interface AuthenticationSessionProvider {
 
-    /**
-     * Provided by <tt>AuthenticationManager</tt> when used by framework.
-     * 
-     * <p>
-     * Called in multiple places.
-     */
+    @Programmatic
     AuthenticationSession getAuthenticationSession();
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java
deleted file mode 100644
index 2ac6340..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAbstract.java
+++ /dev/null
@@ -1,29 +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.commons.authentication;
-
-public abstract class AuthenticationSessionProviderAbstract implements AuthenticationSessionProvider {
-
-    @Override
-    public void injectInto(final Object candidate) {
-        if (AuthenticationSessionProviderAware.class.isAssignableFrom(candidate.getClass())) {
-            final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
-            cast.setAuthenticationSessionProvider(this);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java
deleted file mode 100644
index 39bd5a4..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionProviderAware.java
+++ /dev/null
@@ -1,29 +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.commons.authentication;
-
-import org.apache.isis.applib.annotation.Programmatic;
-
-public interface AuthenticationSessionProviderAware {
-
-    @Programmatic
-    public void setAuthenticationSessionProvider(AuthenticationSessionProvider authenticationSessionProvider);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
index 2b1201a..95dddea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
@@ -24,20 +24,18 @@ import java.util.List;
 import com.google.common.collect.ImmutableList;
 
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategoryAware;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.spec.SpecificationLoader;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
 
-public abstract class FacetFactoryAbstract implements FacetFactory, SpecificationLoaderAware,
-        AuthenticationSessionProviderAware, DeploymentCategoryAware {
+public abstract class FacetFactoryAbstract implements FacetFactory, SpecificationLoaderAware, DeploymentCategoryAware, ServicesInjectorAware {
 
     private final List<FeatureType> featureTypes;
 
-    private SpecificationLoader specificationLoader;
-    private AuthenticationSessionProvider authenticationSessionProvider;
     private DeploymentCategory deploymentCategory;
 
     public FacetFactoryAbstract(final List<FeatureType> featureTypes) {
@@ -65,6 +63,8 @@ public abstract class FacetFactoryAbstract implements FacetFactory, Specificatio
     // Dependencies (injected)
     // ////////////////////////////////////////////////////////////////
 
+    private SpecificationLoader specificationLoader;
+
     protected SpecificationLoader getSpecificationLoader() {
         return specificationLoader;
     }
@@ -77,15 +77,13 @@ public abstract class FacetFactoryAbstract implements FacetFactory, Specificatio
         this.specificationLoader = specificationLookup;
     }
 
-    @Override
-    public void setAuthenticationSessionProvider(final AuthenticationSessionProvider authenticationSessionProvider) {
-        this.authenticationSessionProvider = authenticationSessionProvider;
-    }
 
     protected AuthenticationSessionProvider getAuthenticationSessionProvider() {
-        return authenticationSessionProvider;
+        return servicesInjector.lookupService(AuthenticationSessionProvider.class);
     }
 
+
+
     @Override
     public void setDeploymentCategory(final DeploymentCategory deploymentCategory) {
         this.deploymentCategory = deploymentCategory;
@@ -95,4 +93,13 @@ public abstract class FacetFactoryAbstract implements FacetFactory, Specificatio
         return deploymentCategory;
     }
 
+
+
+    protected ServicesInjector servicesInjector;
+
+    @Override
+    public void setServicesInjector(final ServicesInjector servicesInjector) {
+        this.servicesInjector = servicesInjector;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index 51aaffb..94af81e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -89,8 +89,6 @@ import org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFace
 import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
@@ -99,7 +97,7 @@ import org.apache.isis.core.metamodel.transactions.TransactionStateProvider;
 import org.apache.isis.core.metamodel.transactions.TransactionStateProviderAware;
 import org.apache.isis.core.metamodel.util.EventUtil;
 
-public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implements ServicesInjectorAware, IsisConfigurationAware, AdapterManagerAware, MetaModelValidatorRefiner,
+public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implements IsisConfigurationAware, AdapterManagerAware, MetaModelValidatorRefiner,
         TransactionStateProviderAware {
 
     private final MetaModelValidatorForDeprecatedAnnotation actionSemanticsValidator = new MetaModelValidatorForDeprecatedAnnotation(ActionSemantics.class);
@@ -116,7 +114,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
     private final MetaModelValidatorForDeprecatedAnnotation prototypeValidator = new MetaModelValidatorForDeprecatedAnnotation(Prototype.class);
 
 
-    private ServicesInjector servicesInjector;
     private IsisConfiguration configuration;
     private AdapterManager adapterManager;
     private TransactionStateProvider transactionStateProvider;
@@ -218,7 +215,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
                 actionInvocationFacet = actionInteractionValidator.flagIfPresent(
                         new ActionInvocationFacetForPostsActionInvokedEventAnnotation(
                                 actionInvokedEventType, actionMethod, typeSpec, returnSpec, holder,
-                                getDeploymentCategory(), configuration, getServicesInjector(),
+                                getDeploymentCategory(), configuration, servicesInjector,
                                 getAuthenticationSessionProvider(), getAdapterManager(),
                                 transactionStateProvider
                         ), processMethodContext);
@@ -228,7 +225,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
                 actionInvocationFacet = actionInteractionValidator.flagIfPresent(
                         new ActionInvocationFacetForDomainEventFromActionInteractionAnnotation(
                                 actionDomainEventType, actionMethod, typeSpec, returnSpec, holder,
-                                getDeploymentCategory(), configuration, getServicesInjector(),
+                                getDeploymentCategory(), configuration, servicesInjector,
                                 getAuthenticationSessionProvider(), getAdapterManager(),
                                 transactionStateProvider
                         ), processMethodContext);
@@ -237,7 +234,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
             if (action != null) {
                 actionInvocationFacet = new ActionInvocationFacetForDomainEventFromActionAnnotation(
                         actionDomainEventType, actionMethod, typeSpec, returnSpec, holder,
-                        getDeploymentCategory(), configuration, getServicesInjector(),
+                        getDeploymentCategory(), configuration, servicesInjector,
                         getAuthenticationSessionProvider(),
                         getAdapterManager(), transactionStateProvider
                 );
@@ -246,7 +243,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
             {
                 actionInvocationFacet = new ActionInvocationFacetForDomainEventFromDefault(
                         actionDomainEventType, actionMethod, typeSpec, returnSpec, holder,
-                        getDeploymentCategory(), configuration, getServicesInjector(), getAuthenticationSessionProvider(),
+                        getDeploymentCategory(), configuration, servicesInjector, getAuthenticationSessionProvider(),
                         getAdapterManager(), transactionStateProvider
                 );
             }
@@ -546,11 +543,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
     // ///////////////////////////////////////////////////////////////
 
     @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
-
-    @Override
     public void setConfiguration(final IsisConfiguration configuration) {
         this.configuration = configuration;
 
@@ -577,10 +569,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
         return adapterManager;
     }
 
-    private ServicesInjector getServicesInjector() {
-        return servicesInjector;
-    }
-
     @Override
     public void setTransactionStateProvider(final TransactionStateProvider transactionStateProvider) {
         this.transactionStateProvider = transactionStateProvider;

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
index 9f8681f..05acafe 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
@@ -38,7 +38,7 @@ import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 /**
  * Sets up {@link ActionValidationFacet}.
  */
-public class ActionValidationFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract implements ServicesInjectorAware {
+public class ActionValidationFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract  {
 
     private static final String[] PREFIXES = { MethodPrefixConstants.VALIDATE_PREFIX };
 
@@ -118,12 +118,4 @@ public class ActionValidationFacetViaMethodFactory extends MethodPrefixBasedFace
     }
 
 
-    // //////////////////////////////////////
-
-    private ServicesInjector servicesInjector;
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
index 7637e48..bbd88d1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
@@ -30,12 +30,8 @@ import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class TranslationFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory, ServicesInjectorAware {
-
-    private ServicesInjector servicesInjector;
+public class TranslationFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
 
     private TranslationService translationService;
 
@@ -139,9 +135,4 @@ public class TranslationFacetFactory extends FacetFactoryAbstract implements Con
         return translationService;
     }
 
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
index 433e208..b905a09 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
@@ -80,7 +80,7 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorCom
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
 import org.apache.isis.core.metamodel.util.EventUtil;
 
-public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract implements ServicesInjectorAware, MetaModelValidatorRefiner, IsisConfigurationAware {
+public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
 
     private final MetaModelValidatorForDeprecatedAnnotation postsCollectionAddedToEventValidator = new MetaModelValidatorForDeprecatedAnnotation(PostsCollectionAddedToEvent.class);
     private final MetaModelValidatorForDeprecatedAnnotation postsCollectionRemovedFromEventValidator = new MetaModelValidatorForDeprecatedAnnotation(PostsCollectionRemovedFromEvent.class);
@@ -92,7 +92,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
 
     private final CollectionTypeRegistry collectionTypeRegistry = new CollectionTypeRegistry();
 
-    private ServicesInjector servicesInjector;
     private IsisConfiguration configuration;
 
     public CollectionAnnotationFacetFactory() {
@@ -397,8 +396,4 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
         disabledValidator.setConfiguration(configuration);
     }
 
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToRemoveFromAndValidateFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToRemoveFromAndValidateFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToRemoveFromAndValidateFacetFactory.java
index c8fdbfc..3edbaa6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToRemoveFromAndValidateFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionAddToRemoveFromAndValidateFacetFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.collections.modify;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.commons.lang.StringExtensions;
@@ -35,15 +36,13 @@ import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
 import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateAddToFacetViaMethod;
 import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateRemoveFromFacetViaMethod;
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
 /**
  * TODO: should probably split out into two {@link FacetFactory}s, one for
  * <tt>addTo()</tt>/<tt>removeFrom()</tt> and one for <tt>validateAddTo()</tt>/
  * <tt>validateRemoveFrom()</tt>.
  */
-public class CollectionAddToRemoveFromAndValidateFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements ServicesInjectorAware {
+public class CollectionAddToRemoveFromAndValidateFacetFactory extends MethodPrefixBasedFacetFactoryAbstract  {
 
     private static final String[] PREFIXES = {};
 
@@ -194,13 +193,4 @@ public class CollectionAddToRemoveFromAndValidateFacetFactory extends MethodPref
         FacetUtil.addFacet(facet);
     }
 
-    // ///////////////////////////////////////////////////////
-    // Dependencies (injected)
-    // ///////////////////////////////////////////////////////
-
-    private ServicesInjector servicesInjector;
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
index 874617c..b74883b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
@@ -24,8 +24,10 @@ import java.util.Map;
 import java.util.StringTokenizer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+
 import com.google.common.base.Strings;
 import com.google.common.collect.Maps;
+
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationAware;
@@ -36,12 +38,10 @@ import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 
-public class CssClassFacetOnActionFromConfiguredRegexFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory, IsisConfigurationAware, ServicesInjectorAware {
+public class CssClassFacetOnActionFromConfiguredRegexFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory, IsisConfigurationAware {
 
     public CssClassFacetOnActionFromConfiguredRegexFactory() {
         super(FeatureType.ACTIONS_ONLY);
@@ -162,12 +162,6 @@ public class CssClassFacetOnActionFromConfiguredRegexFactory extends FacetFactor
         this.configuration = configuration;
     }
 
-    private ServicesInjector servicesInjector;
-    @Override
-    public void setServicesInjector(ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
-
     //endregion
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java
index 5b9b2e0..6b1910a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.members.disabled.method;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.commons.lang.StringExtensions;
@@ -32,10 +33,8 @@ import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class DisableForContextFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract implements ServicesInjectorAware {
+public class DisableForContextFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract  {
 
     private static final String[] PREFIXES = { MethodPrefixConstants.DISABLE_PREFIX };
 
@@ -89,10 +88,4 @@ public class DisableForContextFacetViaMethodFactory extends MethodPrefixBasedFac
         FacetUtil.addFacet(new DisableForContextFacetViaMethod(disableMethod, translationService, translationContext, facetHolder));
     }
 
-    private ServicesInjector servicesInjector;
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
index f45e6e0..bf51b34 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
@@ -33,9 +33,7 @@ import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class MemberOrderFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory, ServicesInjectorAware {
-
-    private ServicesInjector servicesInjector;
+public class MemberOrderFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
 
     public MemberOrderFacetFactory() {
         super(FeatureType.MEMBERS);
@@ -93,9 +91,4 @@ public class MemberOrderFacetFactory extends FacetFactoryAbstract implements Con
         }
     }
 
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
index e443a40..68c3cd5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/AutoCompleteFacetAbstract.java
@@ -80,16 +80,15 @@ public abstract class AutoCompleteFacetAbstract extends FacetAbstract implements
             final DeploymentCategory deploymentCategory,
             final SpecificationLoader specificationLoader,
             final ServicesInjector servicesInjector,
-            final AuthenticationSessionProvider authenticationSessionProvider,
             final AdapterManager adapterManager) {
         super(type(), holder, Derivation.NOT_DERIVED);
         this.repositoryClass = repositoryClass;
         this.actionName = actionName;
         this.deploymentCategory = deploymentCategory;
         this.specificationLoader = specificationLoader;
-        this.authenticationSessionProvider = authenticationSessionProvider;
         this.adapterManager = adapterManager;
         this.servicesInjector = servicesInjector;
+        this.authenticationSessionProvider = servicesInjector.lookupService(AuthenticationSessionProvider.class);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
index a242d46..1c6748d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
@@ -116,7 +116,7 @@ public class EnumValueSemanticsProvider<T extends Enum<T>> extends ValueSemantic
 
     @Override
     protected String titleString(final Object object, final Localization localization) {
-        final TranslationService translationService = getDependencyInjector().lookupService(TranslationService.class);
+        final TranslationService translationService = getServicesInjector().lookupService(TranslationService.class);
 
         if (titleMethod != null) {
             // sadness: same as in TranslationFactory

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
index a889860..6db38a2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
@@ -34,10 +34,9 @@ import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetAbstract;
 import org.apache.isis.core.metamodel.facets.object.defaults.DefaultsProviderUtil;
 
-public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements IsisConfigurationAware, ServicesInjectorAware {
+public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements IsisConfigurationAware {
 
     private IsisConfiguration configuration;
-    private ServicesInjector servicesInjector;
 
     public DefaultedFacetAnnotationElseConfigurationFactory() {
         super(FeatureType.OBJECTS_ONLY);
@@ -53,7 +52,7 @@ public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFacto
 
         // create from annotation, if present
         if (annotation != null) {
-            final DefaultedFacetAbstract facet = new DefaultedFacetAnnotation(cls, getIsisConfiguration(), holder, getServicesInjector());
+            final DefaultedFacetAbstract facet = new DefaultedFacetAnnotation(cls, getIsisConfiguration(), holder, servicesInjector);
             if (facet.isValid()) {
                 return facet;
             }
@@ -62,7 +61,7 @@ public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFacto
         // otherwise, try to create from configuration, if present
         final String providerName = DefaultsProviderUtil.defaultsProviderNameFromConfiguration(cls, getIsisConfiguration());
         if (!Strings.isNullOrEmpty(providerName)) {
-            final DefaultedFacetFromConfiguration facet = new DefaultedFacetFromConfiguration(providerName, holder, getServicesInjector());
+            final DefaultedFacetFromConfiguration facet = new DefaultedFacetFromConfiguration(providerName, holder, servicesInjector);
             if (facet.isValid()) {
                 return facet;
             }
@@ -84,13 +83,5 @@ public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFacto
         this.configuration = configuration;
     }
 
-    private ServicesInjector getServicesInjector() {
-        return servicesInjector;
-    }
-
-    @Override
-    public void setServicesInjector(final ServicesInjector dependencyInjector) {
-        this.servicesInjector = dependencyInjector;
-    }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java
index e88efdd..d7163fa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.object.disabled.method;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
@@ -32,8 +33,6 @@ import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.object.disabled.DisabledObjectFacet;
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 
@@ -48,12 +47,11 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
  * class is being processed}, the {@link ObjectMember member}s for the
  * {@link ObjectSpecification spec} are not known.
  */
-public class DisabledObjectFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract implements ServicesInjectorAware {
+public class DisabledObjectFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
     private static final String DISABLED_PREFIX = "disabled";
 
     private static final String[] PREFIXES = { DISABLED_PREFIX, };
-    private ServicesInjector servicesInjector;
 
     public DisabledObjectFacetViaMethodFactory() {
         super(FeatureType.EVERYTHING_BUT_PARAMETERS, OrphanValidation.VALIDATE, PREFIXES);
@@ -92,9 +90,4 @@ public class DisabledObjectFacetViaMethodFactory extends MethodPrefixBasedFacetF
             facet.copyOnto(member);
         }
     }
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index 124f7c2..c328e02 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -98,7 +98,7 @@ import org.apache.isis.objectstore.jdo.metamodel.facets.object.persistencecapabl
 
 
 public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
-        implements IsisConfigurationAware, AdapterManagerAware, ServicesInjectorAware,
+        implements IsisConfigurationAware, AdapterManagerAware,
         SpecificationLoaderAware, MetaModelValidatorRefiner, PersistenceSessionServiceAware,
         PostConstructMethodCache {
 
@@ -112,7 +112,6 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
 
     private IsisConfiguration configuration;
     private AdapterManager adapterManager;
-    private ServicesInjector servicesInjector;
     private PersistenceSessionService persistenceSessionService;
 
     public DomainObjectAnnotationFacetFactory() {
@@ -209,8 +208,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
         Facet facet = autoCompleteValidator.flagIfPresent(
                 AutoCompleteFacetForAutoCompleteAnnotation.create(annotation, facetHolder,
                         getDeploymentCategory(), getSpecificationLoader(),
-                        servicesInjector, getAuthenticationSessionProvider(),
-                        adapterManager
+                        servicesInjector, adapterManager
                 ));
 
         // else check from @DomainObject(auditing=...)
@@ -513,11 +511,6 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
     }
 
     @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
-
-    @Override
     public void setPersistenceSessionService(final PersistenceSessionService persistenceSessionService) {
         this.persistenceSessionService = persistenceSessionService;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java
index 09b257f..9986651 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete;
 
 import org.apache.isis.applib.annotation.AutoComplete;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -41,7 +40,6 @@ public class AutoCompleteFacetForAutoCompleteAnnotation extends AutoCompleteFace
             final DeploymentCategory deploymentCategory,
             final SpecificationLoader specificationLoader,
             final ServicesInjector servicesInjector,
-            final AuthenticationSessionProvider authenticationSessionProvider,
             final AdapterManager adapterManager) {
 
         if(annotation == null) {
@@ -52,7 +50,7 @@ public class AutoCompleteFacetForAutoCompleteAnnotation extends AutoCompleteFace
         final String actionName = annotation.action();
 
         return new AutoCompleteFacetForAutoCompleteAnnotation(holder, repositoryClass, actionName, deploymentCategory,
-                specificationLoader, servicesInjector, authenticationSessionProvider, adapterManager
+                specificationLoader, servicesInjector, adapterManager
         );
     }
 
@@ -63,10 +61,9 @@ public class AutoCompleteFacetForAutoCompleteAnnotation extends AutoCompleteFace
             final DeploymentCategory deploymentCategory,
             final SpecificationLoader specificationLoader,
             final ServicesInjector servicesInjector,
-            final AuthenticationSessionProvider authenticationSessionProvider,
             final AdapterManager adapterManager) {
         super(holder, repositoryClass, actionName, deploymentCategory, specificationLoader, servicesInjector,
-                authenticationSessionProvider, adapterManager
+                adapterManager
         );
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForDomainObjectAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForDomainObjectAnnotation.java
index 5913aa2..c148387 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForDomainObjectAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForDomainObjectAnnotation.java
@@ -66,7 +66,7 @@ public class AutoCompleteFacetForDomainObjectAnnotation extends AutoCompleteFace
             final AuthenticationSessionProvider authenticationSessionProvider,
             final AdapterManager adapterManager) {
         super(holder, repositoryClass, actionName, deploymentCategory, specificationLoader, servicesInjector,
-                authenticationSessionProvider, adapterManager
+                adapterManager
         );
         this.repositoryClass = repositoryClass;
         this.actionName = actionName;

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
index 2c3b375..9e43ffc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
@@ -94,13 +94,8 @@ public class DomainObjectLayoutFacetFactory extends FacetFactoryAbstract impleme
     }
 
 
-    private ServicesInjector servicesInjector;
     private IsisConfiguration configuration;
 
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 
     @Override
     public void setConfiguration(final IsisConfiguration configuration) {

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
index 4f9f70f..c361446 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
@@ -33,15 +33,12 @@ import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncoderDecoderUtil;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class EncodableFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements IsisConfigurationAware, ServicesInjectorAware, AdapterManagerAware {
+public class EncodableFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements IsisConfigurationAware, AdapterManagerAware {
 
     private IsisConfiguration configuration;
 
     private AdapterManager adapterManager;
-    private ServicesInjector servicesInjector;
 
     public EncodableFacetAnnotationElseConfigurationFactory() {
         super(FeatureType.OBJECTS_ONLY);
@@ -97,9 +94,5 @@ public class EncodableFacetAnnotationElseConfigurationFactory extends FacetFacto
         this.adapterManager = adapterManager;
     }
 
-    @Override
-    public void setServicesInjector(final ServicesInjector dependencyInjector) {
-        this.servicesInjector = dependencyInjector;
-    }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetFactory.java
index e91f2ce..b9f85fc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/grid/GridFacetFactory.java
@@ -25,9 +25,8 @@ import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class GridFacetFactory extends FacetFactoryAbstract implements ServicesInjectorAware {
+public class GridFacetFactory extends FacetFactoryAbstract {
 
     private static final Logger LOG = LoggerFactory.getLogger(GridFacetFactory.class);
 
@@ -44,11 +43,5 @@ public class GridFacetFactory extends FacetFactoryAbstract implements ServicesIn
         FacetUtil.addFacet(GridFacetDefault.create(facetHolder, gridService));
     }
 
-    private ServicesInjector servicesInjector;
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mixin/MixinFacetForMixinAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mixin/MixinFacetForMixinAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mixin/MixinFacetForMixinAnnotationFactory.java
index 9f333d7..9abf95d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mixin/MixinFacetForMixinAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mixin/MixinFacetForMixinAnnotationFactory.java
@@ -26,9 +26,7 @@ import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class MixinFacetForMixinAnnotationFactory extends FacetFactoryAbstract implements ServicesInjectorAware {
-
-    private ServicesInjector servicesInjector;
+public class MixinFacetForMixinAnnotationFactory extends FacetFactoryAbstract  {
 
     public MixinFacetForMixinAnnotationFactory() {
         super(FeatureType.OBJECTS_ONLY);
@@ -50,8 +48,4 @@ public class MixinFacetForMixinAnnotationFactory extends FacetFactoryAbstract im
         facetHolder.addFacet(mixinFacet);
     }
 
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java
index b6075bc..59eb105 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java
@@ -21,12 +21,10 @@ package org.apache.isis.core.metamodel.facets.object.parseable;
 
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.lang.ClassExtensions;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.parseable.parser.ParseableFacetUsingParser;
@@ -39,17 +37,25 @@ public abstract class ParseableFacetAbstract extends FacetAbstract implements Pa
     // to delegate to
     private final ParseableFacetUsingParser parseableFacetUsingParser;
 
-    public ParseableFacetAbstract(final String candidateParserName, final Class<?> candidateParserClass, final FacetHolder holder, DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final ServicesInjector dependencyInjector, final AdapterManager adapterManager) {
+    public ParseableFacetAbstract(
+            final String candidateParserName,
+            final Class<?> candidateParserClass,
+            final FacetHolder holder,
+            final ServicesInjector servicesInjector,
+            final AdapterManager adapterManager) {
         super(ParseableFacet.class, holder, Derivation.NOT_DERIVED);
 
         this.parserClass = ParserUtil.parserOrNull(candidateParserClass, candidateParserName);
         this.parseableFacetUsingParser = isValid()?
-                createParser(holder, deploymentCategory, authenticationSessionProvider, dependencyInjector, adapterManager):null;
+                createParser(holder, servicesInjector, adapterManager):null;
     }
 
-    private ParseableFacetUsingParser createParser(final FacetHolder holder, DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final ServicesInjector dependencyInjector, final AdapterManager adapterManager) {
+    private ParseableFacetUsingParser createParser(
+            final FacetHolder holder,
+            final ServicesInjector servicesInjector,
+            final AdapterManager adapterManager) {
         final Parser<?> parser = (Parser<?>) ClassExtensions.newInstance(parserClass, FacetHolder.class, holder);
-        return new ParseableFacetUsingParser(parser, holder, deploymentCategory, authenticationSessionProvider, dependencyInjector, adapterManager);
+        return new ParseableFacetUsingParser(parser, holder, servicesInjector, adapterManager);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotation.java
index b1303ef..8257497 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotation.java
@@ -22,10 +22,8 @@ package org.apache.isis.core.metamodel.facets.object.parseable.annotcfg;
 import com.google.common.base.Strings;
 
 import org.apache.isis.applib.annotation.Parseable;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacetAbstract;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParserUtil;
@@ -47,12 +45,23 @@ public class ParseableFacetAnnotation extends ParseableFacetAbstract {
         return annotation.parserClass();
     }
 
-    public ParseableFacetAnnotation(final Class<?> annotatedClass, final IsisConfiguration configuration, final FacetHolder holder, DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final AdapterManager adapterManager, final ServicesInjector dependencyInjector) {
-        this(parserName(annotatedClass, configuration), parserClass(annotatedClass), holder, deploymentCategory, authenticationSessionProvider, adapterManager, dependencyInjector);
+    public ParseableFacetAnnotation(
+            final Class<?> annotatedClass,
+            final IsisConfiguration configuration,
+            final FacetHolder holder,
+            final AdapterManager adapterManager,
+            final ServicesInjector dependencyInjector) {
+        this(parserName(annotatedClass, configuration), parserClass(annotatedClass), holder,
+                adapterManager, dependencyInjector);
     }
 
-    private ParseableFacetAnnotation(final String candidateParserName, final Class<?> candidateParserClass, final FacetHolder holder, DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final AdapterManager adapterManager, final ServicesInjector dependencyInjector) {
-        super(candidateParserName, candidateParserClass, holder, deploymentCategory, authenticationSessionProvider, dependencyInjector, adapterManager);
+    private ParseableFacetAnnotation(
+            final String candidateParserName,
+            final Class<?> candidateParserClass,
+            final FacetHolder holder,
+            final AdapterManager adapterManager,
+            final ServicesInjector dependencyInjector) {
+        super(candidateParserName, candidateParserClass, holder, dependencyInjector, adapterManager);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
index bbb416c..08b2335 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
@@ -22,8 +22,6 @@ package org.apache.isis.core.metamodel.facets.object.parseable.annotcfg;
 import com.google.common.base.Strings;
 
 import org.apache.isis.applib.annotation.Parseable;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationAware;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
@@ -35,16 +33,12 @@ import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacetAbstract;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParserUtil;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements IsisConfigurationAware, AuthenticationSessionProviderAware, AdapterManagerAware, ServicesInjectorAware {
+public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements IsisConfigurationAware, AdapterManagerAware {
 
     private IsisConfiguration configuration;
 
-    private AuthenticationSessionProvider authenticationSessionProvider;
     private AdapterManager adapterManager;
-    private ServicesInjector servicesInjector;
 
     public ParseableFacetAnnotationElseConfigurationFactory() {
         super(FeatureType.OBJECTS_ONLY);
@@ -60,7 +54,8 @@ public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFacto
 
         // create from annotation, if present
         if (annotation != null) {
-            final ParseableFacetAnnotation facet = new ParseableFacetAnnotation(cls, getIsisConfiguration(), holder, getDeploymentCategory(), authenticationSessionProvider, adapterManager, servicesInjector);
+            final ParseableFacetAnnotation facet = new ParseableFacetAnnotation(cls, getIsisConfiguration(), holder,
+                    adapterManager, servicesInjector);
             if (facet.isValid()) {
                 return facet;
             }
@@ -69,7 +64,8 @@ public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFacto
         // otherwise, try to create from configuration, if present
         final String parserName = ParserUtil.parserNameFromConfiguration(cls, getIsisConfiguration());
         if (!Strings.isNullOrEmpty(parserName)) {
-            final ParseableFacetFromConfiguration facet = new ParseableFacetFromConfiguration(parserName, holder, getDeploymentCategory(), authenticationSessionProvider, servicesInjector, adapterManager);
+            final ParseableFacetFromConfiguration facet = new ParseableFacetFromConfiguration(parserName, holder,
+                    servicesInjector, adapterManager);
             if (facet.isValid()) {
                 return facet;
             }
@@ -95,20 +91,12 @@ public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFacto
         this.configuration = configuration;
     }
 
-    @Override
-    public void setAuthenticationSessionProvider(final AuthenticationSessionProvider authenticationSessionProvider) {
-        this.authenticationSessionProvider = authenticationSessionProvider;
-    }
 
     @Override
     public void setAdapterManager(final AdapterManager adapterManager) {
         this.adapterManager = adapterManager;
     }
 
-    @Override
-    public void setServicesInjector(final ServicesInjector dependencyInjector) {
-        this.servicesInjector = dependencyInjector;
-    }
 
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetFromConfiguration.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetFromConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetFromConfiguration.java
index 5a29246..5947f308 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetFromConfiguration.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetFromConfiguration.java
@@ -19,16 +19,18 @@
 
 package org.apache.isis.core.metamodel.facets.object.parseable.annotcfg;
 
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacetAbstract;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 
 public class ParseableFacetFromConfiguration extends ParseableFacetAbstract {
 
-    public ParseableFacetFromConfiguration(final String candidateParserName, final FacetHolder holder, DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final ServicesInjector dependencyInjector, final AdapterManager adapterManager) {
-        super(candidateParserName, null, holder, deploymentCategory, authenticationSessionProvider, dependencyInjector, adapterManager);
+    public ParseableFacetFromConfiguration(
+            final String candidateParserName,
+            final FacetHolder holder,
+            final ServicesInjector servicesInjector,
+            final AdapterManager adapterManager) {
+        super(candidateParserName, null, holder, servicesInjector, adapterManager);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
index ba1895c..9045b2f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
@@ -30,7 +30,6 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.consent.InteractionResultSet;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
@@ -46,19 +45,19 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 public class ParseableFacetUsingParser extends FacetAbstract implements ParseableFacet {
 
     private final Parser<?> parser;
-    private final DeploymentCategory deploymentCategory;
     private final AuthenticationSessionProvider authenticationSessionProvider;
     private final ServicesInjector dependencyInjector;
     private final AdapterManager adapterManager;
 
     public ParseableFacetUsingParser(
-            final Parser<?> parser, final FacetHolder holder, 
-            final DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final ServicesInjector dependencyInjector, final AdapterManager adapterManager) {
+            final Parser<?> parser,
+            final FacetHolder holder,
+            final ServicesInjector servicesInjector,
+            final AdapterManager adapterManager) {
         super(ParseableFacet.class, holder, Derivation.NOT_DERIVED);
         this.parser = parser;
-        this.deploymentCategory = deploymentCategory;
-        this.authenticationSessionProvider = authenticationSessionProvider;
-        this.dependencyInjector = dependencyInjector;
+        this.authenticationSessionProvider = servicesInjector.lookupService(AuthenticationSessionProvider.class);
+        this.dependencyInjector = servicesInjector;
         this.adapterManager = adapterManager;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java
index 939e9bf..d8a98c1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java
@@ -51,9 +51,8 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVis
 import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
 
 public class RecreatableObjectFacetFactory extends FacetFactoryAbstract
-        implements ServicesInjectorAware, AdapterManagerAware, MetaModelValidatorRefiner, PostConstructMethodCache {
+        implements AdapterManagerAware, MetaModelValidatorRefiner, PostConstructMethodCache {
 
-    private ServicesInjector servicesInjector;
     private AdapterManager adapterManager;
 
     public RecreatableObjectFacetFactory() {
@@ -130,13 +129,6 @@ public class RecreatableObjectFacetFactory extends FacetFactoryAbstract
 
     // //////////////////////////////////////
 
-
-
-    @Override
-    public void setServicesInjector(ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
-
     @Override
     public void setAdapterManager(AdapterManager adapterManager) {
         this.adapterManager = adapterManager;

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
index df86510..668df64 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
@@ -35,7 +35,7 @@ import org.apache.isis.core.metamodel.facets.fallback.FallbackFacetFactory;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class TitleFacetViaMethodsFactory extends MethodPrefixBasedFacetFactoryAbstract implements ServicesInjectorAware {
+public class TitleFacetViaMethodsFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
     private static final String TO_STRING = "toString";
     private static final String TITLE = "title";
@@ -93,12 +93,4 @@ public class TitleFacetViaMethodsFactory extends MethodPrefixBasedFacetFactoryAb
         }
     }
 
-    // //////////////////////////////////////
-
-    private ServicesInjector servicesInjector;
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory.java
index a495d47..b23226b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory.java
@@ -21,6 +21,7 @@ package org.apache.isis.core.metamodel.facets.object.validating.mustsatisfyspec;
 
 import java.util.ArrayList;
 import java.util.List;
+
 import org.apache.isis.applib.annotation.MustSatisfy;
 import org.apache.isis.applib.spec.Specification;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -33,7 +34,6 @@ 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.ServicesInjector;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
 
@@ -41,7 +41,7 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorFor
  * @deprecated
  */
 @Deprecated
-public class MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware, ServicesInjectorAware {
+public class MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
 
     private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(MustSatisfy.class);
 
@@ -101,10 +101,4 @@ public class MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory
     }
 
 
-    private ServicesInjector servicesInjector;
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
index 26f58c1..0cc54f8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
@@ -33,7 +33,7 @@ import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstra
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
 
-public class ValidateObjectFacetMethodFactory extends MethodPrefixBasedFacetFactoryAbstract implements ServicesInjectorAware {
+public class ValidateObjectFacetMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
     private static final String VALIDATE_PREFIX = "validate";
 
@@ -62,9 +62,4 @@ public class ValidateObjectFacetMethodFactory extends MethodPrefixBasedFacetFact
         }
     }
 
-    private ServicesInjector servicesInjector;
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/70bbd7aa/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
index bc41a4c..2a8262c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.object.value;
 
 import org.apache.isis.applib.adapters.*;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.lang.ClassExtensions;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
@@ -125,7 +124,8 @@ public abstract class ValueFacetAbstract extends MultipleValueFacetAbstract impl
             // Parser
             final Parser<?> parser = semanticsProvider.getParser();
             if (parser != null) {
-                facetHolder.addFacet(new ParseableFacetUsingParser(parser, holder, getDeploymentCategory(context), getAuthenticationSessionProvider(), getDependencyInjector(), getAdapterMap()));
+                facetHolder.addFacet(new ParseableFacetUsingParser(parser, holder,
+                        getDependencyInjector(), getAdapterMap()));
                 facetHolder.addFacet(new TitleFacetUsingParser(parser, holder, getDependencyInjector()));
                 facetHolder.addFacet(new TypicalLengthFacetUsingParser(parser, holder, getDependencyInjector()));
                 if(parser instanceof Parser2) {
@@ -185,11 +185,7 @@ public abstract class ValueFacetAbstract extends MultipleValueFacetAbstract impl
     }
 
     public ServicesInjector getDependencyInjector() {
-        return context.getDependencyInjector();
-    }
-
-    public AuthenticationSessionProvider getAuthenticationSessionProvider() {
-        return context.getAuthenticationSessionProvider();
+        return context.getServicesInjector();
     }
 
 }