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:33:43 UTC

[08/51] [abbrv] isis git commit: ISIS-1406: lots more refactoring around IsisConfiguration and IsisConfigurationBuilder.

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
deleted file mode 100644
index cadaaed..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
+++ /dev/null
@@ -1,47 +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.config;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-
-import org.junit.Test;
-
-public class ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest {
-
-    @Test
-    public void toStringWhenNull() throws Exception {
-        final IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy configurationResourceAndPolicy = new IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy(null, null);
-        assertThat(configurationResourceAndPolicy.toString(), is("null{null}"));
-    }
-
-    @Test
-    public void toStringWhenConfigResourceNotNull() throws Exception {
-        final IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy configurationResourceAndPolicy = new IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy("foo.properties", null);
-        assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{null}"));
-    }
-
-    @Test
-    public void toStringWhenAllSpecified() throws Exception {
-        final IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy configurationResourceAndPolicy = new IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy("foo.properties", NotFoundPolicy.CONTINUE);
-        assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{CONTINUE}"));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
deleted file mode 100644
index fe76e66..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
+++ /dev/null
@@ -1,37 +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.config;
-
-import junit.framework.TestCase;
-
-public class ConfigurationBuilderTwoDirectoriesTest extends TestCase {
-    IsisConfigurationBuilderFileSystem builder;
-
-    @Override
-    protected void setUp() throws Exception {
-        builder = new IsisConfigurationBuilderFileSystem("src/test/config", "src/test");
-    }
-
-    public void testAddConfigurationInDifferentDirectory() throws Exception {
-        builder.addConfigurationResource("three.properties", NotFoundPolicy.FAIL_FAST);
-        final IsisConfiguration configuration = builder.getConfiguration();
-        assertEquals("version 3", configuration.getString("different.property"));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
new file mode 100644
index 0000000..f0b7ee9
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
@@ -0,0 +1,49 @@
+/*
+ *  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.configbuilder;
+
+import org.junit.Test;
+
+import org.apache.isis.core.commons.config.NotFoundPolicy;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+public class ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest {
+
+    @Test
+    public void toStringWhenNull() throws Exception {
+        final ConfigurationResourceAndPolicy configurationResourceAndPolicy = new ConfigurationResourceAndPolicy(null, null);
+        assertThat(configurationResourceAndPolicy.toString(), is("null{null}"));
+    }
+
+    @Test
+    public void toStringWhenConfigResourceNotNull() throws Exception {
+        final ConfigurationResourceAndPolicy configurationResourceAndPolicy = new ConfigurationResourceAndPolicy("foo.properties", null);
+        assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{null}"));
+    }
+
+    @Test
+    public void toStringWhenAllSpecified() throws Exception {
+        final ConfigurationResourceAndPolicy configurationResourceAndPolicy = new ConfigurationResourceAndPolicy("foo.properties", NotFoundPolicy.CONTINUE);
+        assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{CONTINUE}"));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
index 429941a..ccc1d7c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
@@ -78,9 +78,6 @@ public abstract class ObjectReflectorDefaultTestAbstract {
 
         context.checking(new Expectations() {
             {
-                allowing(mockConfiguration).injectInto(with(anything()));
-                will(InjectIntoJMockAction.injectInto());
-                
                 ignoring(mockConfiguration);
             }
         });

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
index 6948431..7c899c6 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
@@ -19,13 +19,16 @@
 
 package org.apache.isis.core.runtime.authentication;
 
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.runtime.authentication.standard.AuthenticationManagerStandard;
 import org.apache.isis.core.runtime.authentication.standard.AuthenticationManagerStandardInstallerAbstract;
 
 public abstract class AuthenticationManagerStandardInstallerAbstractForDfltRuntime extends AuthenticationManagerStandardInstallerAbstract {
 
-    public AuthenticationManagerStandardInstallerAbstractForDfltRuntime(final String name) {
-        super(name);
+    public AuthenticationManagerStandardInstallerAbstractForDfltRuntime(
+            final String name,
+            final IsisConfigurationDefault isisConfiguration) {
+        super(name, isisConfiguration);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
index d8729bb..455171c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
@@ -23,7 +23,8 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.components.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 
 public abstract class FixturesInstallerAbstract extends InstallerAbstract implements FixturesInstaller {
 
@@ -31,8 +32,8 @@ public abstract class FixturesInstallerAbstract extends InstallerAbstract implem
 
     private LogonFixture logonFixture;
 
-    public FixturesInstallerAbstract(final String name) {
-        super(FixturesInstaller.TYPE, name);
+    public FixturesInstallerAbstract(final String name, final IsisConfigurationDefault isisConfiguration) {
+        super(FixturesInstaller.TYPE, name, isisConfiguration);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
index 6fbca9f..1e3cbde 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
@@ -23,6 +23,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.ConfigurationConstants;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.runtime.fixtures.domainservice.ObjectLoaderFixture;
@@ -41,8 +42,8 @@ public class FixturesInstallerFromConfiguration extends FixturesInstallerAbstrac
 
     private static final String EXPLORATION_OBJECTS = ConfigurationConstants.ROOT + "exploration-objects";
 
-    public FixturesInstallerFromConfiguration() {
-        super("configuration");
+    public FixturesInstallerFromConfiguration(final IsisConfigurationDefault isisConfiguration) {
+        super("configuration", isisConfiguration);
     }
 
     @Override
@@ -65,9 +66,7 @@ public class FixturesInstallerFromConfiguration extends FixturesInstallerAbstrac
             if (!fixtureLoaded) {
                 LOG.debug("No fixtures loaded from configuration");
             }
-        } catch (final IllegalArgumentException e) {
-            throw new IsisException(e);
-        } catch (final SecurityException e) {
+        } catch (final IllegalArgumentException | SecurityException e) {
             throw new IsisException(e);
         }
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java
deleted file mode 100644
index ec108db..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java
+++ /dev/null
@@ -1,44 +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.runtime.fixtures;
-
-import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.commons.components.Noop;
-
-public class FixturesInstallerNoop extends FixturesInstallerAbstract implements Noop {
-
-    public FixturesInstallerNoop() {
-        super("noop");
-    }
-
-    @Override
-    public void installFixtures() {
-    }
-
-    @Override
-    public LogonFixture getLogonFixture() {
-        return null;
-    }
-
-    @Override
-    protected void addFixturesTo(final FixturesInstallerDelegate delegate) {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
index 93c01c6..eba4cf5 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
@@ -34,10 +34,8 @@ import org.slf4j.LoggerFactory;
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.components.Installer;
 import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderAware;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.ensure.Ensure;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.commons.factory.InstanceCreationClassException;
 import org.apache.isis.core.commons.factory.InstanceCreationException;
@@ -59,10 +57,6 @@ import org.apache.isis.core.runtime.system.SystemConstants;
 import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjector;
 import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjectorAware;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-
 /**
  * The installers correspond more-or-less to the configurable top-level
  * components of {@link IsisSystem}.
@@ -110,7 +104,7 @@ public class InstallerLookup implements InstallerRepository, ApplicationScopedCo
                     continue;
                 }
                 try {
-                    final Installer object = (Installer) InstanceUtil.createInstance(className);
+                    final Installer object = (Installer) InstanceUtil.createInstance(className, isisConfiguration);
                     LOG.debug("created component installer: " + object.getName() + " - " + className);
                     installerList.add(object);
                 } catch (final UnavailableClassException e) {

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
index 0cec1f8..1dc5921 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
@@ -20,8 +20,6 @@
 package org.apache.isis.core.runtime.installerregistry.installerapi;
 
 import org.apache.isis.core.commons.components.Installer;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderAware;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
@@ -30,13 +28,12 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory
 /**
  * Installs a {@link PersistenceSession} during system start up.
  */
-public interface PersistenceMechanismInstaller extends Installer, IsisConfigurationBuilderAware {
+public interface PersistenceMechanismInstaller extends Installer {
 
     static String TYPE = "persistor";
 
     PersistenceSessionFactory createPersistenceSessionFactory(
             final DeploymentType deploymentType,
-            final IsisConfigurationDefault configuration,
             final ServicesInjectorSpi servicesInjector);
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.java
deleted file mode 100644
index b7a48b6..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.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.runtime.runner;
-
-import com.google.inject.Injector;
-
-public interface IsisBootstrapper {
-    public void bootstrap(Injector injector);
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
deleted file mode 100644
index b9d3364..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
+++ /dev/null
@@ -1,276 +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.runtime.runner;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.List;
-
-import com.google.common.base.Optional;
-import com.google.common.collect.Lists;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-import org.apache.commons.cli.BasicParser;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderDefault;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
-import org.apache.isis.core.runtime.optionhandler.BootPrinter;
-import org.apache.isis.core.runtime.optionhandler.OptionHandler;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerAdditionalProperty;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerAppManifest;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerConfiguration;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerDeploymentType;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerFixture;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerFixtureFromEnvironmentVariable;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerHelp;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerSystemProperties;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerVersion;
-import org.apache.isis.core.runtime.runner.opts.OptionValidator;
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public class IsisRunner {
-
-    private static final Logger LOG = LoggerFactory.getLogger(IsisRunner.class);
-
-    private final IsisLoggingConfigurer loggingConfigurer = new IsisLoggingConfigurer();
-
-    private final String[] args;
-    private final OptionHandlerDeploymentType optionHandlerDeploymentType;
-
-    private final List<OptionHandler> optionHandlers = Lists.newArrayList();
-    private final List<OptionValidator> validators = Lists.newArrayList();
-
-    private IsisConfigurationBuilder isisConfigurationBuilder;
-    private InstallerLookup installerLookup;
-
-    private Injector globalInjector;
-
-    // ///////////////////////////////////////////////////////////////////////////////////////
-    // Construction and adjustments
-    // ///////////////////////////////////////////////////////////////////////////////////////
-
-    public IsisRunner(final String[] args, final OptionHandlerDeploymentType optionHandlerDeploymentType) {
-        this.args = args;
-        this.optionHandlerDeploymentType = optionHandlerDeploymentType;
-
-        // setup logging immediately
-        loggingConfigurer.configureLogging(determineConfigDirectory(), args);
-
-        addStandardOptionHandlersAndValidators();
-    }
-
-    // REVIEW is this something that IsisConfigBuilder should know about?
-    private String determineConfigDirectory() {
-        if (new File(ConfigurationConstants.WEBINF_FULL_DIRECTORY).exists()) {
-            return ConfigurationConstants.WEBINF_FULL_DIRECTORY;
-        } else {
-            return ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY;
-        }
-    }
-
-    /**
-     * Adds additional option handlers; may also require additional
-     * {@link OptionValidator validator}s to be
-     * {@link #addValidator(OptionValidator) add}ed.
-     * <p>
-     * An adjustment (as per GOOS book).
-     */
-    public final boolean addOptionHandler(final OptionHandler optionHandler) {
-        return optionHandlers.add(optionHandler);
-    }
-
-    /**
-     * Adds additional validators; typically goes hand-in-hand will calls to
-     * {@link #addOptionHandler(OptionHandler)}.
-     * <p>
-     * An adjustment (as per GOOS book).
-     */
-    public void addValidator(final OptionValidator validator) {
-        validators.add(validator);
-    }
-
-    /**
-     * The default implementation is a {@link IsisConfigurationBuilderDefault},
-     * which looks to the <tt>config/</tt> directory, the
-     * <tt>src/main/webapp/WEB-INF</tt> directory, and then finally to the
-     * classpath. However, this could be a security concern in a production
-     * environment; a user could edit the <tt>isis.properties</tt> config files
-     * to disable security, for example.
-     * <p>
-     * This method therefore allows this system to be configured using a
-     * different {@link IsisConfigurationBuilder}. For example, a
-     * security-conscious subclass could return a
-     * {@link IsisConfigurationBuilder} that only reads from the classpath. This
-     * would allow the application to be deployed as a single sealed JAR that
-     * could not be tampered with.
-     * <p>
-     * An adjustment (as per GOOS book).
-     */
-    public void setConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
-        this.isisConfigurationBuilder = isisConfigurationBuilder;
-        this.installerLookup = new InstallerLookup(isisConfigurationBuilder.getConfiguration());
-
-    }
-
-    // ///////////////////////////////////////////////////////////////////////////////////////
-    // parse and validate
-    // ///////////////////////////////////////////////////////////////////////////////////////
-
-    public final boolean parseAndValidate() {
-
-        // add options (ie cmd line flags)
-        final Options options = createOptions();
-
-        // parse & validate options from the cmd line
-        final BootPrinter printer = new BootPrinter(getClass());
-        return parseOptions(options, printer) && validateOptions(options, printer);
-    }
-
-    private Options createOptions() {
-        final Options options = new Options();
-        for (final OptionHandler optionHandler : optionHandlers) {
-            optionHandler.addOption(options);
-        }
-        return options;
-    }
-
-    private boolean parseOptions(final Options options, final BootPrinter printer) {
-        final CommandLineParser parser = new BasicParser();
-        try {
-            final CommandLine commandLine = parser.parse(options, args);
-            for (final OptionHandler optionHandler : optionHandlers) {
-                if (!optionHandler.handle(commandLine, printer, options)) {
-                    return false;
-                }
-            }
-        } catch (final ParseException e) {
-            printer.printErrorMessage(e.getMessage());
-            printer.printHelp(options);
-            return false;
-        }
-        return true;
-    }
-
-    private boolean validateOptions(final Options options, final BootPrinter printer) {
-        final DeploymentType deploymentType = optionHandlerDeploymentType.getDeploymentType();
-
-        for (final OptionValidator validator : validators) {
-            final Optional<String> errorMessage = validator.validate(deploymentType);
-            if (errorMessage.isPresent()) {
-                printer.printErrorAndHelp(options, errorMessage.get());
-                return false;
-            }
-        }
-        return true;
-    }
-
-    public IsisConfigurationBuilder getStartupConfiguration() {
-        return isisConfigurationBuilder;
-    }
-
-    public void primeConfigurationWithCommandLineOptions() {
-        for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : optionHandlers) {
-            LOG.debug("priming configurations for " + isisConfigurationBuilderPrimer);
-            isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
-        }
-    }
-
-    public void loadInitialProperties() {
-        isisConfigurationBuilder.addDefaultConfigurationResources();
-    }
-
-
-    // ///////////////////////////////////////////////////////////////////////////////////////
-    // Bootstrapping
-    // ///////////////////////////////////////////////////////////////////////////////////////
-
-    // TODO remove and use is desktop runner
-
-    public final void bootstrap(final IsisBootstrapper bootstrapper) {
-
-        final DeploymentType deploymentType = optionHandlerDeploymentType.getDeploymentType();
-
-        IsisConfigurationDefault isisConfiguration = isisConfigurationBuilder.getConfiguration();
-
-        this.globalInjector = createGuiceInjector(deploymentType, isisConfiguration);
-
-        bootstrapper.bootstrap(globalInjector);
-    }
-
-    private Injector createGuiceInjector(
-            final DeploymentType deploymentType,
-            final IsisConfigurationDefault isisConfiguration) {
-        final IsisInjectModule isisModule =
-                new IsisInjectModule(deploymentType, isisConfiguration);
-        return Guice.createInjector(isisModule);
-    }
-
-    // ///////////////////////////////////////////////////////////////////////////////////////
-    // Handlers & Validators
-    // ///////////////////////////////////////////////////////////////////////////////////////
-
-    public final List<OptionHandler> getOptionHandlers() {
-        return Collections.unmodifiableList(optionHandlers);
-    }
-
-    private void addStandardOptionHandlersAndValidators() {
-        addOptionHandler(optionHandlerDeploymentType);
-        addOptionHandler(new OptionHandlerConfiguration());
-
-        // intention is to delete this: better to use isis.reflector.facets.include and isis.reflector.facets.exclude properties
-        // addOptionHandler(new OptionHandlerReflector(installerLookup));
-
-        addOptionHandler(new OptionHandlerAppManifest());
-        addOptionHandler(new OptionHandlerFixture());
-
-        // no-op
-        //addOptionHandler(new OptionHandlerNoSplash());
-
-        addOptionHandler(new OptionHandlerAdditionalProperty());
-        addOptionHandler(new OptionHandlerFixtureFromEnvironmentVariable());
-        addOptionHandler(new OptionHandlerSystemProperties());
-
-        // no-op
-        // addOptionHandler(new OptionHandlerDebug());
-
-        // no-op
-        // addOptionHandler(new OptionHandlerDiagnostics());
-        // no-op
-        // addOptionHandler(new OptionHandlerQuiet());
-        // no-op
-        // addOptionHandler(new OptionHandlerVerbose());
-
-        addOptionHandler(new OptionHandlerHelp());
-        addOptionHandler(new OptionHandlerVersion());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
index 9ecc038..7310746 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
@@ -28,7 +28,7 @@ import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
@@ -52,7 +52,7 @@ public class OptionHandlerAdditionalProperty extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         addConfigurationProperties(isisConfigurationBuilder, additionalProperties);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
index f6e937f..03ad1ba 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
@@ -26,7 +26,7 @@ import org.apache.commons.cli.Options;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
@@ -34,8 +34,6 @@ import org.apache.isis.core.runtime.system.SystemConstants;
 
 import static org.apache.isis.core.runtime.runner.Constants.APP_MANIFEST_LONG_OPT;
 import static org.apache.isis.core.runtime.runner.Constants.APP_MANIFEST_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.FIXTURE_LONG_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.FIXTURE_OPT;
 
 public class OptionHandlerAppManifest extends OptionHandlerAbstract {
 
@@ -64,7 +62,7 @@ public class OptionHandlerAppManifest extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         if (appManifestClassName == null) {
             return;
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
index d52bc7e..f267adb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.commons.config.NotFoundPolicy;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -51,7 +51,7 @@ public class OptionHandlerConfiguration extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         if (configurationResource == null) {
             return;
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
index bda880c..5f3874e 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 
@@ -49,7 +49,7 @@ public class OptionHandlerDebug extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         // TODO need to prime or otherwise set logging.
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
index 307a0fb..6a29977 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
@@ -19,22 +19,22 @@
 
 package org.apache.isis.core.runtime.runner.opts;
 
-import static org.apache.isis.core.runtime.runner.Constants.TYPE_LONG_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.TYPE_OPT;
-
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
 import org.apache.isis.core.commons.config.NotFoundPolicy;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.SystemConstants;
 
+import static org.apache.isis.core.runtime.runner.Constants.TYPE_LONG_OPT;
+import static org.apache.isis.core.runtime.runner.Constants.TYPE_OPT;
+
 public abstract class OptionHandlerDeploymentType extends OptionHandlerAbstract {
 
     private final DeploymentType defaultDeploymentType;
@@ -79,7 +79,7 @@ public abstract class OptionHandlerDeploymentType extends OptionHandlerAbstract
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         final String type = deploymentType.nameLowerCase();
         isisConfigurationBuilder.addConfigurationResource(type + ".properties", NotFoundPolicy.CONTINUE);
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
index 87ee3a2..479cba4 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
@@ -54,7 +54,7 @@ public class OptionHandlerDiagnostics extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         // TODO need to do what, exactly?
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
index 4c3831f..1fa1b6b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.system.SystemConstants;
 
@@ -36,7 +36,7 @@ public abstract class OptionHandlerFixtureAbstract extends OptionHandlerAbstract
     protected String fixtureClassName;
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         if (fixtureClassName == null) {
             return;
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
index ff1413d..b05406e 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
@@ -24,10 +24,8 @@ import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
-import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
-import org.apache.isis.core.runtime.system.SystemConstants;
 
 public class OptionHandlerFixtureFromEnvironmentVariable extends OptionHandlerFixtureAbstract {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
index fbb7e26..839d331 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
@@ -25,7 +25,7 @@ import static org.apache.isis.core.runtime.runner.Constants.HELP_OPT;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
@@ -52,7 +52,7 @@ public class OptionHandlerHelp extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         // nothing to do
 
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
index 6996cc0..8f0c031 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 
@@ -55,7 +55,7 @@ public class OptionHandlerInitParameters extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         Map<String,String> additionalProperties = asMap(servletContext);
         LOG.info("priming configuration builder: " + additionalProperties.size() + " properties to prime");
         addConfigurationProperties(isisConfigurationBuilder, additionalProperties);

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
index 9ae4849..b46823b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.system.SystemConstants;
@@ -54,7 +54,7 @@ public class OptionHandlerNoSplash extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         if (noSplash) {
             isisConfigurationBuilder.add(SystemConstants.NOSPLASH_KEY, "true");
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
index d7d7fbe..10a43a2 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
@@ -55,7 +55,7 @@ public class OptionHandlerPassword extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         isisConfigurationBuilder.add(SystemConstants.PASSWORD_KEY, password);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
index 1c71102..0327090 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 
@@ -49,7 +49,7 @@ public class OptionHandlerQuiet extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         // TODO need to do what, exactly???
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
index 80066fd..684874b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
@@ -24,7 +24,7 @@ import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
 import org.apache.isis.core.runtime.installerregistry.InstallerRepository;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
@@ -64,7 +64,7 @@ public class OptionHandlerReflector extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         isisConfigurationBuilder.add(SystemConstants.REFLECTOR_KEY, reflector);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
index 6513a6f..7478d2f 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
@@ -26,7 +26,7 @@ import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 
@@ -60,7 +60,7 @@ public class OptionHandlerSystemProperties extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         LOG.debug("priming configuration builder: " + additionalProperties.size() + " properties to prime");
         addConfigurationProperties(isisConfigurationBuilder, additionalProperties);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
index 2c4d2aa..a6ccdcb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
@@ -56,7 +56,7 @@ public class OptionHandlerUser extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         isisConfigurationBuilder.add(SystemConstants.USER_KEY, userName);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
index c2c5da1..57f2791 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 
@@ -49,7 +49,7 @@ public class OptionHandlerVerbose extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         // TODO need to do what, exactly???
 
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
index e6b1b00..3cd6bc6 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
@@ -24,7 +24,7 @@ import static org.apache.isis.core.runtime.runner.Constants.VERSION_OPT;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.Options;
 
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
 import org.apache.isis.core.runtime.runner.Constants;
@@ -50,7 +50,7 @@ public class OptionHandlerVersion extends OptionHandlerAbstract {
     }
 
     @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+    public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
         // nothing to do
 
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
deleted file mode 100644
index dc2a049..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.runner.opts;
-
-import com.google.common.base.Optional;
-
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public interface OptionValidator {
-    public Optional<String> validate(final DeploymentType deploymentType);
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java
deleted file mode 100644
index be810df..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java
+++ /dev/null
@@ -1,48 +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.runtime.runner.opts;
-
-import com.google.common.base.Optional;
-
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public final class OptionValidatorUserAndPasswordCombo implements OptionValidator {
-
-    private final OptionHandlerUser optionHandlerUser;
-    private final OptionHandlerPassword optionHandlerPassword;
-
-    public OptionValidatorUserAndPasswordCombo(final OptionHandlerUser optionHandlerUser, final OptionHandlerPassword optionHandlerPassword) {
-        this.optionHandlerPassword = optionHandlerPassword;
-        this.optionHandlerUser = optionHandlerUser;
-    }
-
-    @Override
-    public Optional<String> validate(final DeploymentType deploymentType) {
-        final String user = optionHandlerUser.getUserName();
-        final String password = optionHandlerPassword.getPassword();
-        final boolean ok = (password == null && user == null) || (password != null && user != null);
-        return setIf(!ok, "A user name must be specified with a password");
-    }
-    
-    private static Optional<String> setIf(final boolean fail, final String failMsg) {
-        return fail? Optional.of(failMsg): Optional.<String>absent();
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
index 8e72ba1..0ca08bb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
@@ -32,9 +32,7 @@ public interface ServicesInstaller extends Installer {
      * distinguish from the '--services' flag meaning a particular set of
      * services to use (whereas this flag means how to locate them).
      */
-    static String TYPE = "services-installer";
+    String TYPE = "services-installer";
 
     List<Object> getServices();
-
-    void setIgnoreFailures(boolean ignoreFailures);
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
index 5a6b102..ec9a92b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
@@ -19,13 +19,15 @@
 
 package org.apache.isis.core.runtime.services;
 
-import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.components.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 
 public abstract class ServicesInstallerAbstract extends InstallerAbstract implements ServicesInstaller {
 
-    public ServicesInstallerAbstract(final String name) {
-        super(ServicesInstaller.TYPE, name);
+    public ServicesInstallerAbstract(
+            final String name,
+            final IsisConfigurationDefault isisConfiguration) {
+        super(ServicesInstaller.TYPE, name, isisConfiguration);
     }
 
-
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
index 5b7ebb2..2fe04ef 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
@@ -45,6 +45,7 @@ import org.apache.isis.applib.AppManifest;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.DomainServiceLayout;
 import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.util.DeweyOrderComparator;
 
 import static com.google.common.base.Predicates.and;
@@ -52,6 +53,8 @@ import static com.google.common.base.Predicates.not;
 
 public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
 
+    //region > constants
+
     private static final Logger LOG = LoggerFactory.getLogger(ServicesInstallerFromAnnotation.class);
 
     public static final String NAME = "annotation";
@@ -70,19 +73,25 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
      * </p>
      */
     public final static String PACKAGE_PREFIX_STANDARD = Joiner.on(",").join(AppManifest.Registry.FRAMEWORK_PROVIDED_SERVICES);
+    //endregion
+
+    //region > constructor, fields
 
     private final ServiceInstantiator serviceInstantiator;
 
-    public ServicesInstallerFromAnnotation() {
-        this(new ServiceInstantiator());
+    public ServicesInstallerFromAnnotation(final IsisConfigurationDefault isisConfiguration) {
+        this(new ServiceInstantiator(), isisConfiguration);
     }
 
-    public ServicesInstallerFromAnnotation(final ServiceInstantiator serviceInstantiator) {
-        super(NAME);
+    public ServicesInstallerFromAnnotation(
+            final ServiceInstantiator serviceInstantiator,
+            final IsisConfigurationDefault isisConfiguration) {
+        super(NAME, isisConfiguration);
         this.serviceInstantiator = serviceInstantiator;
     }
+    //endregion
 
-
+    //region > packagePrefixes
     private String packagePrefixes;
 
     /**
@@ -95,12 +104,9 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
     public void withPackagePrefixes(final String... packagePrefixes) {
         this.packagePrefixes = Joiner.on(",").join(packagePrefixes);
     }
+    //endregion
 
-    @Override
-    public void setIgnoreFailures(final boolean ignoreFailures) {
-        // no-op
-    }
-
+    //region > init, shutdown
 
     public void init() {
         initIfRequired();
@@ -138,7 +144,9 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
     public void shutdown() {
     }
 
-    // //////////////////////////////////////
+    //endregion
+
+    //region > helpers
 
     private Predicate<Class<?>> instantiatable() {
         return and(not(nullClass()), not(abstractClass()));
@@ -173,26 +181,28 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
         };
     }
 
+    //endregion
 
-    // //////////////////////////////////////
+    //region > getServices (API)
 
-    private List<Object> serviceList;
+    private List<Object> services;
 
     @Override
     public List<Object> getServices() {
         initIfRequired();
 
-        if(this.serviceList == null) {
+        if(this.services == null) {
 
             final SortedMap<String, SortedSet<String>> positionedServices = Maps.newTreeMap(new DeweyOrderComparator());
             appendServices(positionedServices);
 
-            this.serviceList = ServicesInstallerUtils.instantiateServicesFrom(positionedServices, serviceInstantiator);
+            this.services = ServicesInstallerUtils.instantiateServicesFrom(positionedServices, serviceInstantiator);
         }
-        return serviceList;
+        return services;
     }
+    //endregion
 
-    // //////////////////////////////////////
+    //region > appendServices
 
     public void appendServices(final SortedMap<String, SortedSet<String>> positionedServices) {
         initIfRequired();
@@ -220,6 +230,10 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
         }
     }
 
+    //endregion
+
+    //region > helpers: orderOf, nameOf, asList
+
     private static String orderOf(final Class<?> cls) {
         final DomainServiceLayout domainServiceLayout = cls.getAnnotation(DomainServiceLayout.class);
         String order = domainServiceLayout != null ? domainServiceLayout.menuOrder(): null;
@@ -239,17 +253,32 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
         return name;
     }
 
-    protected List<String> asList(final String csv) {
+    private static List<String> asList(final String csv) {
         return Lists.newArrayList(Iterables.transform(Splitter.on(",").split(csv), trim()));
     }
+    //endregion
+
+    //region > domain events
+    public static abstract class PropertyDomainEvent<T>
+            extends org.apache.isis.applib.services.eventbus.PropertyDomainEvent<ServicesInstallerFromAnnotation, T> {
+    }
 
+    public static abstract class CollectionDomainEvent<T>
+            extends org.apache.isis.applib.services.eventbus.CollectionDomainEvent<ServicesInstallerFromAnnotation, T> {
+    }
+
+    public static abstract class ActionDomainEvent
+            extends org.apache.isis.applib.services.eventbus.ActionDomainEvent<ServicesInstallerFromAnnotation> {
+    }
+    //endregion
 
-    // //////////////////////////////////////
+    //region > getTypes (API)
 
     @Override
     public List<Class<?>> getTypes() {
         return listOf(List.class); // ie List<Object.class>, of services
     }
 
+    //endregion
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java
index 0b75593..5fb1b17 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java
@@ -34,6 +34,7 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.util.DeweyOrderComparator;
 import org.apache.isis.core.runtime.fixturedomainservice.ObjectFixtureService;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -69,23 +70,20 @@ public class ServicesInstallerFromConfiguration extends ServicesInstallerAbstrac
 
     private final ServiceInstantiator serviceInstantiator;
 
-    public ServicesInstallerFromConfiguration() {
-        this(new ServiceInstantiator());
+    public ServicesInstallerFromConfiguration(final IsisConfigurationDefault isisConfiguration) {
+        this(new ServiceInstantiator(), isisConfiguration);
     }
 
-    ServicesInstallerFromConfiguration(final ServiceInstantiator serviceInstantiator) {
-        super(NAME);
+    ServicesInstallerFromConfiguration(
+            final ServiceInstantiator serviceInstantiator,
+            final IsisConfigurationDefault isisConfiguration) {
+        super(NAME, isisConfiguration);
         this.serviceInstantiator = serviceInstantiator;
     }
 
     // //////////////////////////////////////
 
 
-    @Override
-    public void setIgnoreFailures(boolean ignoreFailures) {
-        // no-op
-    }
-
     public void init() {
         initIfRequired();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
index 20c5869..1a63838 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
@@ -28,8 +28,7 @@ import com.google.common.collect.Maps;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.util.DeweyOrderComparator;
 
 public class ServicesInstallerFromConfigurationAndAnnotation extends ServicesInstallerAbstract  {
@@ -43,33 +42,21 @@ public class ServicesInstallerFromConfigurationAndAnnotation extends ServicesIns
     private final ServicesInstallerFromAnnotation servicesInstallerFromAnnotation;
 
 
-    public ServicesInstallerFromConfigurationAndAnnotation() {
-        this(new ServiceInstantiator());
+    public ServicesInstallerFromConfigurationAndAnnotation(final IsisConfigurationDefault isisConfiguration) {
+        this(new ServiceInstantiator(), isisConfiguration);
     }
 
-    public ServicesInstallerFromConfigurationAndAnnotation(final ServiceInstantiator serviceInstantiator) {
-        super(NAME);
+    public ServicesInstallerFromConfigurationAndAnnotation(
+            final ServiceInstantiator serviceInstantiator,
+            final IsisConfigurationDefault isisConfiguration) {
+        super(NAME, isisConfiguration);
 
         this.serviceInstantiator = serviceInstantiator;
-        servicesInstallerFromConfiguration = new ServicesInstallerFromConfiguration(serviceInstantiator);
-        servicesInstallerFromAnnotation = new ServicesInstallerFromAnnotation(serviceInstantiator);
+        servicesInstallerFromConfiguration = new ServicesInstallerFromConfiguration(serviceInstantiator,
+                isisConfiguration);
+        servicesInstallerFromAnnotation = new ServicesInstallerFromAnnotation(serviceInstantiator, isisConfiguration);
     }
 
-    public void setIgnoreFailures(boolean ignoreFailures) {
-        this.serviceInstantiator.setIgnoreFailures(ignoreFailures);
-    }
-
-    @Override
-    public void setConfigurationBuilder(IsisConfigurationBuilder isisConfigurationBuilder) {
-        servicesInstallerFromConfiguration.setConfigurationBuilder(isisConfigurationBuilder);
-        servicesInstallerFromAnnotation.setConfigurationBuilder(isisConfigurationBuilder);
-    }
-
-    @Override
-    public void setConfiguration(IsisConfiguration configuration) {
-        servicesInstallerFromConfiguration.setConfiguration(configuration);
-        servicesInstallerFromAnnotation.setConfiguration(configuration);
-    }
 
     public void init() {
         servicesInstallerFromConfiguration.init();

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
index 8d482c6..9b79dac 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
@@ -22,8 +22,6 @@ package org.apache.isis.core.runtime.system;
 import java.util.List;
 import java.util.Map;
 
-import javax.annotation.Nullable;
-
 import com.google.inject.Inject;
 
 import org.apache.isis.applib.AppManifest;
@@ -78,7 +76,6 @@ public class IsisSystemFactory implements ApplicationScopedComponent {
     public static final AppManifest APP_MANIFEST_NOOP = NOOP;
 
 
-
     private final InstallerLookup installerLookup;
 
     @Inject

http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
index a86e9fc..1dc25ca 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
@@ -89,7 +89,6 @@ import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingLifecycleE
 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.propcoll.accessor.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.MessageBrokerService;
 import org.apache.isis.core.metamodel.runtimecontext.MessageBrokerServiceAware;
 import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
@@ -155,11 +154,11 @@ public class PersistenceSession implements
         AdapterManager,
         MessageBrokerService,
         PersistenceSessionService,
-        ConfigurationServiceInternal,
         IsisLifecycleListener2.PersistenceSessionLifecycleManagement,
         IsisTransactionManager.PersistenceSessionTransactionManagement,
         PersistenceQueryProcessorAbstract.PersistenceSessionQueryProcessorManagement {
 
+    //region > constants
     private static final Logger LOG = LoggerFactory.getLogger(PersistenceSession.class);
 
     /**
@@ -174,7 +173,7 @@ public class PersistenceSession implements
      * Append regular <a href="http://www.datanucleus.org/products/accessplatform/persistence_properties.html">datanucleus properties</a> to this key
      */
     public static final String DATANUCLEUS_PROPERTIES_ROOT = ROOT_KEY + "impl.";
-
+    //endregion
 
     //region > constructor, fields, finalize()
 
@@ -258,6 +257,7 @@ public class PersistenceSession implements
 
     //endregion
 
+
     //region > open
 
     /**
@@ -1237,14 +1237,6 @@ public class PersistenceSession implements
     //endregion
 
 
-
-    @Override
-    public String toString() {
-        return new ToString(this).toString();
-    }
-
-    //endregion
-
     //region > dependencies (from constructor)
 
     protected SpecificationLoaderSpi getSpecificationLoader() {
@@ -1264,7 +1256,7 @@ public class PersistenceSession implements
 
     //endregion
 
-    //region > sub components
+    //region > transactionManager
 
 
     /**
@@ -2331,24 +2323,18 @@ public class PersistenceSession implements
     }
 
 
-
     //endregion
 
-    //region > ConfigurationService delegate
+    //region > toString
 
     @Override
-    public String getProperty(final String name) {
-        return configuration.getProperty(name);
+    public String toString() {
+        return new ToString(this).toString();
     }
 
-    @Override
-    public List<String> getPropertyNames() {
-        return configuration.getPropertyNames();
-    }
 
     //endregion
 
-
 }