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 2014/10/04 14:31:36 UTC

[01/12] git commit: ISIS-568: reverting to JDK 1.6 (just for backward compatibility for one more release, as requested by community).

Repository: isis
Updated Branches:
  refs/heads/master 6d1826045 -> e8c66fba5


ISIS-568: reverting to JDK 1.6 (just for backward compatibility for one more release, as requested by community).


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

Branch: refs/heads/master
Commit: 8ea77f11fdcd92739ed49e59f2e7857e3e7f2602
Parents: 6d18260
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Oct 3 17:42:23 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Oct 3 17:42:23 2014 +0100

----------------------------------------------------------------------
 .../webapp/diagnostics/IsisLogOnExceptionFilter.java    | 12 +++++++++---
 core/pom.xml                                            |  4 ++--
 2 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/8ea77f11/core/metamodel/src/main/java/org/apache/isis/core/webapp/diagnostics/IsisLogOnExceptionFilter.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/webapp/diagnostics/IsisLogOnExceptionFilter.java b/core/metamodel/src/main/java/org/apache/isis/core/webapp/diagnostics/IsisLogOnExceptionFilter.java
index b195de5..583c491 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/webapp/diagnostics/IsisLogOnExceptionFilter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/webapp/diagnostics/IsisLogOnExceptionFilter.java
@@ -50,9 +50,15 @@ public class IsisLogOnExceptionFilter implements Filter {
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
         try {
             chain.doFilter(request, response);
-        } catch (IOException | ServletException | RuntimeException e) {
-            logRequestUrl(request, e);
-            throw e;
+        } catch (IOException ex) {
+            logRequestUrl(request, ex);
+            throw ex;
+        } catch (ServletException ex) {
+            logRequestUrl(request, ex);
+            throw ex;
+        } catch (RuntimeException ex) {
+            logRequestUrl(request, ex);
+            throw ex;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/8ea77f11/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index e785226..bf65dc9 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -59,8 +59,8 @@
 
 
         <!-- remaining properties should not need to be overridden -->
-        <compileSource>1.7</compileSource>
-        <compileTarget>1.7</compileTarget>
+        <compileSource>1.6</compileSource>
+        <compileTarget>1.6</compileTarget>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
         <dependency.locations.enabled>false</dependency.locations.enabled>


[05/12] git commit: ISIS-913: removing IsisViewerInstaller and EmbeddedWebServerInstaller APIs (and implementations)

Posted by da...@apache.org.
ISIS-913: removing IsisViewerInstaller and EmbeddedWebServerInstaller APIs (and implementations)


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

Branch: refs/heads/master
Commit: b5a05ac7d4b7daf34c716f852b508f27bd2053ae
Parents: a5de745
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Oct 3 18:11:24 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Oct 3 18:11:24 2014 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/isis/Isis.java     |  27 -
 .../java/org/apache/isis/core/runtime/Isis.java |  60 --
 .../isis/core/runtime/RuntimeBootstrapper.java  | 131 -----
 .../installerregistry/InstallerLookup.java      |  18 +-
 .../EmbeddedWebServerInstaller.java             |  30 -
 .../installerapi/IsisViewerInstaller.java       |  31 -
 .../IsisViewerInstallerAbstract.java            |  63 --
 .../core/runtime/runner/IsisInjectModule.java   |  33 --
 .../isis/core/runtime/runner/IsisRunner.java    |  15 +-
 .../runner/opts/OptionHandlerViewer.java        |  74 ---
 .../runner/opts/OptionValidatorForViewers.java  |  48 --
 .../isis/core/runtime/viewer/IsisViewer.java    |  45 --
 .../core/runtime/viewer/IsisViewerAbstract.java | 163 ------
 .../core/runtime/viewer/IsisViewerNoop.java     |  54 --
 .../core/runtime/web/EmbeddedWebServer.java     |  29 -
 .../runtime/web/EmbeddedWebServerAbstract.java  |  77 ---
 .../core/runtime/web/EmbeddedWebViewer.java     |  26 -
 .../core/runtime/installer-registry.properties  |  10 -
 .../EmbeddedWebViewerRestfulObjects.java        |  61 --
 .../embedded/RestfulObjectsViewerInstaller.java |  52 --
 .../embedded/jetty/EmbeddedWebServerJetty.java  | 228 --------
 .../jetty/JettyEmbeddedWebServerInstaller.java  |  49 --
 .../simpleapp/webapp/coverage-error.log         | 585 +++++++++++++++++++
 .../todoapp/webapp/coverage-error.log           | 585 +++++++++++++++++++
 24 files changed, 1173 insertions(+), 1321 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/Isis.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/Isis.java b/core/runtime/src/main/java/org/apache/isis/Isis.java
deleted file mode 100644
index ab83165..0000000
--- a/core/runtime/src/main/java/org/apache/isis/Isis.java
+++ /dev/null
@@ -1,27 +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;
-
-public class Isis {
-
-    public static void main(final String[] args) {
-        org.apache.isis.core.runtime.Isis.main(args);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/Isis.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/Isis.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/Isis.java
deleted file mode 100644
index 68d7bc3..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/Isis.java
+++ /dev/null
@@ -1,60 +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;
-
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderDefault;
-import org.apache.isis.core.runtime.runner.IsisRunner;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerDeploymentTypeIsis;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerPassword;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerUser;
-import org.apache.isis.core.runtime.runner.opts.OptionValidatorUserAndPasswordCombo;
-import org.apache.isis.core.runtime.system.SystemConstants;
-
-public class Isis {
-
-    static final String DEFAULT_EMBEDDED_WEBSERVER = SystemConstants.WEBSERVER_DEFAULT;
-
-    public static void main(final String[] args) {
-        new Isis().run(args);
-    }
-
-    private void run(final String[] args) {
-        final IsisRunner runner = new IsisRunner(args, new OptionHandlerDeploymentTypeIsis());
-        addOptionHandlersAndValidators(runner);
-        if (!runner.parseAndValidate()) {
-            return;
-        }
-        runner.setConfigurationBuilder(new IsisConfigurationBuilderDefault());
-        runner.primeConfigurationWithCommandLineOptions();
-        runner.loadInitialProperties();
-        runner.bootstrap(new RuntimeBootstrapper());
-    }
-
-    private void addOptionHandlersAndValidators(final IsisRunner runner) {
-        final OptionHandlerUser optionHandlerUser = new OptionHandlerUser();
-        final OptionHandlerPassword optionHandlerPassword = new OptionHandlerPassword();
-
-        runner.addOptionHandler(optionHandlerUser);
-        runner.addOptionHandler(optionHandlerPassword);
-
-        runner.addValidator(new OptionValidatorUserAndPasswordCombo(optionHandlerUser, optionHandlerPassword));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/RuntimeBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/RuntimeBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/RuntimeBootstrapper.java
deleted file mode 100644
index 3cf1115..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/RuntimeBootstrapper.java
+++ /dev/null
@@ -1,131 +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;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.inject.Injector;
-
-import org.apache.isis.core.commons.lang.RunnableExtensions;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.installerregistry.installerapi.EmbeddedWebServerInstaller;
-import org.apache.isis.core.runtime.runner.IsisBootstrapper;
-import org.apache.isis.core.runtime.runner.IsisInjectModule.ViewerList;
-import org.apache.isis.core.runtime.system.IsisSystem;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-import org.apache.isis.core.runtime.web.EmbeddedWebServer;
-
-final class RuntimeBootstrapper implements IsisBootstrapper {
-
-    @Override
-    public void bootstrap(final Injector injector) {
-
-        bootstrapSystem(injector);
-        bootstrapViewers(injector);
-    }
-
-    private void bootstrapSystem(final Injector injector) {
-
-        // sufficient just to look it up
-        @SuppressWarnings("unused")
-        final IsisSystem system = injector.getInstance(IsisSystem.class);
-    }
-
-    private void bootstrapViewers(final Injector injector) {
-        final List<IsisViewer> viewers = lookupViewers(injector);
-
-        // split viewers into web viewers and non-web viewers
-        final List<IsisViewer> webViewers = findWebViewers(viewers);
-        final List<IsisViewer> nonWebViewers = findNonWebViewers(viewers, webViewers);
-
-        startNonWebViewers(nonWebViewers);
-        startWebViewers(injector, webViewers);
-    }
-
-    private List<IsisViewer> lookupViewers(final Injector injector) {
-        final List<IsisViewer> viewers = injector.getInstance(ViewerList.class).getViewers();
-
-        // looking up viewers may have merged in some further config files,
-        // so update the NOContext global
-        // REVIEW: would rather inject this
-        final InstallerLookup installerLookup = injector.getInstance(InstallerLookup.class);
-        IsisContext.setConfiguration(installerLookup.getConfiguration());
-
-        return viewers;
-    }
-
-    private List<IsisViewer> findWebViewers(final List<IsisViewer> viewers) {
-        return Lists.newArrayList(
-                Iterables.filter(viewers, new Predicate<IsisViewer>() {
-                    @Override
-                    public boolean apply(final IsisViewer viewer) {
-                        return viewer.getWebAppSpecification() != null;
-                    }
-                }));
-    }
-
-    private List<IsisViewer> findNonWebViewers(final List<IsisViewer> viewers, final List<IsisViewer> webViewers) {
-        final List<IsisViewer> nonWebViewers = new ArrayList<IsisViewer>(viewers);
-        nonWebViewers.removeAll(webViewers);
-        return nonWebViewers;
-    }
-
-    /**
-     * Starts each (non web) {@link IsisViewer viewer} in its own thread.
-     */
-    private void startNonWebViewers(final List<IsisViewer> viewers) {
-        for (final IsisViewer viewer : viewers) {
-            final Runnable target = new Runnable() {
-                @Override
-                public void run() {
-                    viewer.init();
-                }
-            };
-            RunnableExtensions.startThread(target, "Viewer");
-        }
-    }
-
-    /**
-     * Starts all the web {@link IsisViewer viewer}s in an instance of an
-     * {@link EmbeddedWebServer}.
-     */
-    private void startWebViewers(final Injector injector, final List<IsisViewer> webViewers) {
-        if (webViewers.size() == 0) {
-            return;
-        }
-
-        final InstallerLookup installerLookup = injector.getInstance(InstallerLookup.class);
-
-        // TODO: we could potentially offer pluggability here
-        final EmbeddedWebServerInstaller webServerInstaller = installerLookup.embeddedWebServerInstaller(Isis.DEFAULT_EMBEDDED_WEBSERVER);
-        final EmbeddedWebServer embeddedWebServer = webServerInstaller.createEmbeddedWebServer();
-        for (final IsisViewer viewer : webViewers) {
-            final WebAppSpecification webContainerRequirements = viewer.getWebAppSpecification();
-            embeddedWebServer.addWebAppSpecification(webContainerRequirements);
-        }
-        embeddedWebServer.init();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/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 49a5275..7cb8b42 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
@@ -54,8 +54,6 @@ import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstalle
 import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
 import org.apache.isis.core.runtime.fixtures.FixturesInstaller;
 import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.EmbeddedWebServerInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstaller;
 import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
 import org.apache.isis.core.runtime.services.ServicesInstaller;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -65,9 +63,7 @@ import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInj
 import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjectorAware;
 import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.CoreMatchers.*;
 
 /**
  * The installers correspond more-or-less to the configurable top-level
@@ -242,18 +238,6 @@ public class InstallerLookup implements InstallerRepository, ApplicationScopedCo
         return getInstaller(UserProfileStoreInstaller.class, requested, SystemConstants.USER_PROFILE_STORE_KEY, profileStoreDefault);
     }
 
-    public EmbeddedWebServerInstaller embeddedWebServerInstaller(final String requested) {
-        return getInstaller(EmbeddedWebServerInstaller.class, requested, SystemConstants.WEBSERVER_KEY, SystemConstants.WEBSERVER_DEFAULT);
-    }
-
-    public IsisViewerInstaller viewerInstaller(final String name) {
-        final IsisViewerInstaller installer = getInstaller(IsisViewerInstaller.class, name);
-        if (installer == null) {
-            throw new IsisException("No viewer installer of type " + name);
-        }
-        return installer;
-    }
-
     public ServicesInstaller servicesInstaller(final String requestedImplementationName) {
         return getInstaller(ServicesInstaller.class, requestedImplementationName, SystemConstants.SERVICES_INSTALLER_KEY, SystemConstants.SERVICES_INSTALLER_DEFAULT);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/EmbeddedWebServerInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/EmbeddedWebServerInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/EmbeddedWebServerInstaller.java
deleted file mode 100644
index 22ee2b4..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/EmbeddedWebServerInstaller.java
+++ /dev/null
@@ -1,30 +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.installerregistry.installerapi;
-
-import org.apache.isis.core.commons.components.Installer;
-import org.apache.isis.core.runtime.web.EmbeddedWebServer;
-
-public interface EmbeddedWebServerInstaller extends Installer {
-
-    static String TYPE = "embedded-web-server";
-
-    EmbeddedWebServer createEmbeddedWebServer();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstaller.java
deleted file mode 100644
index 16e7702..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstaller.java
+++ /dev/null
@@ -1,31 +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.installerregistry.installerapi;
-
-import org.apache.isis.core.commons.components.Installer;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookupAware;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
-
-public interface IsisViewerInstaller extends Installer, InstallerLookupAware {
-
-    static String TYPE = "viewer";
-
-    IsisViewer createViewer();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstallerAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstallerAbstract.java
deleted file mode 100644
index 43bf24a..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/IsisViewerInstallerAbstract.java
+++ /dev/null
@@ -1,63 +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.installerregistry.installerapi;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjector;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
-
-public abstract class IsisViewerInstallerAbstract extends InstallerAbstract implements IsisViewerInstaller {
-
-    private SystemDependencyInjector installerLookup;
-
-    public IsisViewerInstallerAbstract(final String name) {
-        super(IsisViewerInstaller.TYPE, name);
-    }
-
-    @Override
-    public IsisViewer createViewer() {
-        return injectDependenciesInto(doCreateViewer());
-    }
-
-    /**
-     * Subclasses should override (or else override {@link #createViewer()} if
-     * they need to do anything more elaborate.
-     */
-    protected IsisViewer doCreateViewer() {
-        return null;
-    }
-
-    protected <T> T injectDependenciesInto(final T candidate) {
-        return installerLookup.injectDependenciesInto(candidate);
-    }
-
-    @Override
-    public void setInstallerLookup(final InstallerLookup installerLookup) {
-        this.installerLookup = installerLookup;
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(IsisViewer.class);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisInjectModule.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisInjectModule.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisInjectModule.java
index 90e146b..5640ac5 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisInjectModule.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisInjectModule.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.core.runtime.runner;
 
-import java.util.Collections;
 import java.util.List;
 import com.google.common.collect.Lists;
 import com.google.inject.AbstractModule;
@@ -29,12 +28,10 @@ import com.google.inject.Singleton;
 import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
 import org.apache.isis.core.commons.config.IsisConfigurationBuilderDefault;
 import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstaller;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.IsisSystem;
 import org.apache.isis.core.runtime.system.IsisSystemFactory;
 import org.apache.isis.core.runtime.systemusinginstallers.IsisSystemThatUsesInstallersFactory;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
 
 public class IsisInjectModule extends AbstractModule {
 
@@ -137,34 +134,4 @@ public class IsisInjectModule extends AbstractModule {
         return system;
     }
 
-    public static class ViewerList {
-        private final List<IsisViewer> viewers;
-
-        public ViewerList(final List<IsisViewer> viewers) {
-            this.viewers = Collections.unmodifiableList(viewers);
-        }
-
-        public List<IsisViewer> getViewers() {
-            return viewers;
-        }
-    }
-
-    @SuppressWarnings("unused")
-    @Provides
-    @Inject
-    @Singleton
-    private ViewerList lookupViewers(final InstallerLookup installerLookup, final DeploymentType deploymentType) {
-
-        final List<String> viewersToStart = Lists.newArrayList(viewerNames);
-        deploymentType.addDefaultViewer(viewersToStart);
-
-        final List<IsisViewer> viewers = Lists.newArrayList();
-        for (final String requestedViewer : viewersToStart) {
-            final IsisViewerInstaller viewerInstaller = installerLookup.viewerInstaller(requestedViewer);
-            final IsisViewer viewer = viewerInstaller.createViewer();
-            viewers.add(viewer);
-        }
-        return new ViewerList(viewers);
-    }
-
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/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
index 2336d96..ab5d495 100644
--- 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
@@ -51,8 +51,6 @@ public class IsisRunner {
     private final OptionHandlerDeploymentType optionHandlerDeploymentType;
     private final InstallerLookup installerLookup;
 
-    private final OptionHandlerViewer optionHandlerViewer;
-
     private final List<OptionHandler> optionHandlers = Lists.newArrayList();
     private final List<OptionValidator> validators = Lists.newArrayList();
     private IsisConfigurationBuilder isisConfigurationBuilder;
@@ -71,7 +69,7 @@ public class IsisRunner {
         loggingConfigurer.configureLogging(determineConfigDirectory(), args);
         this.installerLookup = new InstallerLookup();
 
-        this.optionHandlerViewer = addStandardOptionHandlersAndValidators(this.installerLookup);
+        addStandardOptionHandlersAndValidators(this.installerLookup);
     }
 
     // REVIEW is this something that IsisConfigBuilder should know about?
@@ -212,7 +210,6 @@ public class IsisRunner {
 
     private Injector createGuiceInjector(final DeploymentType deploymentType, final IsisConfigurationBuilder isisConfigurationBuilder, final InstallerLookup installerLookup, final List<OptionHandler> optionHandlers) {
         final IsisInjectModule isisModule = new IsisInjectModule(deploymentType, isisConfigurationBuilder, installerLookup);
-        isisModule.addViewerNames(optionHandlerViewer.getViewerNames());
         return Guice.createInjector(isisModule);
     }
 
@@ -224,14 +221,11 @@ public class IsisRunner {
         return Collections.unmodifiableList(optionHandlers);
     }
 
-    private OptionHandlerViewer addStandardOptionHandlersAndValidators(final InstallerLookup installerLookup) {
+    private void addStandardOptionHandlersAndValidators(final InstallerLookup installerLookup) {
         addOptionHandler(optionHandlerDeploymentType);
         addOptionHandler(new OptionHandlerConfiguration());
 
-        OptionHandlerViewer optionHandlerViewer;
-
         addOptionHandler(new OptionHandlerPersistor(installerLookup));
-        addOptionHandler(optionHandlerViewer = new OptionHandlerViewer(installerLookup));
 
         addOptionHandler(new OptionHandlerReflector(installerLookup));
         addOptionHandler(new OptionHandlerUserProfileStore(installerLookup));
@@ -249,11 +243,6 @@ public class IsisRunner {
 
         addOptionHandler(new OptionHandlerHelp());
         addOptionHandler(new OptionHandlerVersion());
-
-        // validators
-        addValidator(new OptionValidatorForViewers(optionHandlerViewer));
-
-        return optionHandlerViewer;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerViewer.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerViewer.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerViewer.java
deleted file mode 100644
index 0fef2b9..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerViewer.java
+++ /dev/null
@@ -1,74 +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 static org.apache.isis.core.runtime.runner.Constants.VIEWER_LONG_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.VIEWER_OPT;
-
-import java.util.List;
-
-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.lang.ListExtensions;
-import org.apache.isis.core.runtime.installerregistry.InstallerRepository;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstaller;
-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.SystemConstants;
-
-public class OptionHandlerViewer extends OptionHandlerAbstract {
-
-    private final InstallerRepository installerRepository;
-    private List<String> viewerNames;
-
-    public OptionHandlerViewer(final InstallerRepository installerRepository) {
-        this.installerRepository = installerRepository;
-    }
-
-    @Override
-    @SuppressWarnings("static-access")
-    public void addOption(final Options options) {
-        final Object[] viewers = installerRepository.getInstallers(IsisViewerInstaller.class);
-        final Option option = OptionBuilder.withArgName("name|class name").hasArg().withLongOpt(VIEWER_LONG_OPT).withDescription("viewer to use, or for server to listen on: " + availableInstallers(viewers) + "; or class name").create(VIEWER_OPT);
-        options.addOption(option);
-
-    }
-
-    @Override
-    public boolean handle(final CommandLine commandLine, final BootPrinter bootPrinter, final Options options) {
-        viewerNames = getOptionValues(commandLine, Constants.VIEWER_OPT);
-        return true;
-    }
-
-    @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
-        isisConfigurationBuilder.add(SystemConstants.VIEWER_KEY, ListExtensions.listToString(viewerNames));
-    }
-
-    public List<String> getViewerNames() {
-        return viewerNames;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorForViewers.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorForViewers.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorForViewers.java
deleted file mode 100644
index 0fc92fc..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorForViewers.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 java.util.List;
-
-import com.google.common.base.Optional;
-
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public final class OptionValidatorForViewers implements OptionValidator {
-    private final OptionHandlerViewer optionHandlerViewer;
-
-    public OptionValidatorForViewers(final OptionHandlerViewer optionHandlerViewer) {
-        this.optionHandlerViewer = optionHandlerViewer;
-    }
-
-    @Override
-    public Optional<String> validate(final DeploymentType deploymentType) {
-        final List<String> viewerNames = optionHandlerViewer.getViewerNames();
-
-        final boolean fail = !deploymentType.canSpecifyViewers(viewerNames);
-        final String failMsg = String.format("Error: cannot specify %s viewer%s for deployment type %s\n", Strings.plural(viewerNames, "more than one", "any"), Strings.plural(viewerNames, "", "s"), deploymentType.nameLowerCase());
-        return setIf(fail, failMsg);
-    }
-    
-    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/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewer.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewer.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewer.java
deleted file mode 100644
index 1fe86af..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewer.java
+++ /dev/null
@@ -1,45 +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.viewer;
-
-import org.apache.isis.core.commons.components.ApplicationScopedComponent;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderAware;
-import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjectorAware;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-
-/**
- * Defines an mechanism for manipulating the domain objects.
- * 
- * <p>
- * The mechanism may be realized as a user interface (for example the DnD viewer
- * or HTML viewer) but might also be an abstract 'remoting' viewer of sockets or
- * HTTP servlet requests.
- */
-public interface IsisViewer extends ApplicationScopedComponent, SystemDependencyInjectorAware, IsisConfigurationBuilderAware {
-
-    /**
-     * Provide requirement for running a viewer from within an embedded web
-     * container.
-     * 
-     * <p>
-     * Returns <tt>null</tt> if does not run within a web container.
-     */
-    WebAppSpecification getWebAppSpecification();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerAbstract.java
deleted file mode 100644
index 976f04b..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerAbstract.java
+++ /dev/null
@@ -1,163 +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.viewer;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-
-import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderAware;
-import org.apache.isis.core.commons.ensure.Ensure;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.IsisSystem;
-import org.apache.isis.core.runtime.system.SystemConstants;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjector;
-import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjectorAware;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-
-public abstract class IsisViewerAbstract implements IsisViewer {
-
-    /**
-     * @see {@link #setDeploymentType(DeploymentType)}
-     */
-    private DeploymentType deploymentType;
-
-    private SystemDependencyInjector systemDependencyInjector;
-    private IsisConfigurationBuilder isisConfigurationBuilder;
-
-    /**
-     * Optionally set, see
-     * {@link #setAuthenticationRequestViaArgs(AuthenticationRequest)}
-     */
-    private AuthenticationRequest authenticationRequestViaArgs;
-
-    // ////////////////////////////////////////////////////////////////
-    // Settings
-    // ////////////////////////////////////////////////////////////////
-
-    @Override
-    public void init() {
-
-        ensureDependenciesInjected();
-
-        final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration();
-        deploymentType = DeploymentType.lookup(configuration.getString(SystemConstants.DEPLOYMENT_TYPE_KEY));
-
-        final String user = configuration.getString(SystemConstants.USER_KEY);
-        final String password = configuration.getString(SystemConstants.PASSWORD_KEY);
-
-        if (user != null) {
-            authenticationRequestViaArgs = new AuthenticationRequestPassword(user, password);
-        }
-    }
-
-    @Override
-    public void shutdown() {
-        // does nothing
-    }
-
-    // ////////////////////////////////////////////////////////////////
-    // Settings
-    // ////////////////////////////////////////////////////////////////
-
-    public final DeploymentType getDeploymentType() {
-        return deploymentType;
-    }
-
-    /**
-     * Default implementation to return null, indicating that this viewer should
-     * not be run in a web container.
-     */
-    @Override
-    public WebAppSpecification getWebAppSpecification() {
-        return null;
-    }
-
-    public AuthenticationRequest getAuthenticationRequestViaArgs() {
-        return authenticationRequestViaArgs;
-    }
-
-    protected void clearAuthenticationRequestViaArgs() {
-        authenticationRequestViaArgs = null;
-    }
-
-    // ////////////////////////////////////////////////////////////////
-    // Post-bootstrapping
-    // ////////////////////////////////////////////////////////////////
-
-    public LogonFixture getLogonFixture() {
-        return null;
-    }
-
-    // ////////////////////////////////////////////////////////////////
-    // Dependencies (injected)
-    // ////////////////////////////////////////////////////////////////
-
-    protected void ensureDependenciesInjected() {
-        Ensure.ensureThatState(systemDependencyInjector, is(not(nullValue())));
-        Ensure.ensureThatState(isisConfigurationBuilder, is(not(nullValue())));
-    }
-
-    /**
-     * Injected by virtue of being {@link SystemDependencyInjectorAware}.
-     */
-    @Override
-    public void setSystemDependencyInjector(final SystemDependencyInjector dependencyInjector) {
-        this.systemDependencyInjector = dependencyInjector;
-    }
-
-    protected IsisConfigurationBuilder getConfigurationBuilder() {
-        return isisConfigurationBuilder;
-    }
-
-    /**
-     * Injected by virtue of being {@link IsisConfigurationBuilderAware}.
-     */
-    @Override
-    public void setConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
-        this.isisConfigurationBuilder = isisConfigurationBuilder;
-    }
-
-    // ////////////////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ////////////////////////////////////////////////////////////////
-
-    /**
-     * Available after {@link IsisSystem} has been bootstrapped.
-     */
-    protected static IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
-    }
-
-    /**
-     * Available after {@link IsisSystem} has been bootstrapped.
-     */
-    public static AuthenticationManager getAuthenticationManager() {
-        return IsisContext.getAuthenticationManager();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerNoop.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerNoop.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerNoop.java
deleted file mode 100644
index 638020f..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/viewer/IsisViewerNoop.java
+++ /dev/null
@@ -1,54 +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.viewer;
-
-import org.apache.isis.core.commons.components.Noop;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjector;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-
-public class IsisViewerNoop implements IsisViewer, Noop {
-
-    @Override
-    public void init() {
-    }
-
-    @Override
-    public void shutdown() {
-    }
-
-    @Override
-    public void setConfigurationBuilder(final IsisConfigurationBuilder configurationLoader) {
-    }
-
-    @Override
-    public void setSystemDependencyInjector(final SystemDependencyInjector dependencyInjector) {
-    }
-
-    public boolean bootstrapsSystem() {
-        return false;
-    }
-
-    @Override
-    public WebAppSpecification getWebAppSpecification() {
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServer.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServer.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServer.java
deleted file mode 100644
index 3b99df9..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServer.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.web;
-
-import org.apache.isis.core.commons.components.ApplicationScopedComponent;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-
-public interface EmbeddedWebServer extends ApplicationScopedComponent {
-
-    void addWebAppSpecification(WebAppSpecification webContainerRequirements);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServerAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServerAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServerAbstract.java
deleted file mode 100644
index ce165fb..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebServerAbstract.java
+++ /dev/null
@@ -1,77 +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.web;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-
-public abstract class EmbeddedWebServerAbstract implements EmbeddedWebServer {
-
-    @SuppressWarnings("unused")
-    private final static Logger LOG = LoggerFactory.getLogger(EmbeddedWebServerAbstract.class);
-
-    private final List<WebAppSpecification> specifications = new ArrayList<WebAppSpecification>();
-
-    // ///////////////////////////////////////////////////////
-    // WebApp Specifications
-    // ///////////////////////////////////////////////////////
-
-    /**
-     * Must be called prior to {@link #init() initialization}.
-     */
-    @Override
-    public void addWebAppSpecification(final WebAppSpecification specification) {
-        specifications.add(specification);
-    }
-
-    protected List<WebAppSpecification> getSpecifications() {
-        return specifications;
-    }
-
-    // ///////////////////////////////////////////////////////
-    // init, shutdown
-    // ///////////////////////////////////////////////////////
-
-    @Override
-    public void init() {
-        // does nothing
-    }
-
-    @Override
-    public void shutdown() {
-        // does nothing
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // ///////////////////////////////////////////////////////
-
-    protected static IsisConfiguration getConfiguration() {
-        return IsisContext.getConfiguration();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebViewer.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebViewer.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebViewer.java
deleted file mode 100644
index 96b08a5..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/web/EmbeddedWebViewer.java
+++ /dev/null
@@ -1,26 +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.web;
-
-import org.apache.isis.core.runtime.viewer.IsisViewerAbstract;
-
-public abstract class EmbeddedWebViewer extends IsisViewerAbstract {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties b/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
index 6360209..104f6d6 100644
--- a/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
+++ b/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
@@ -35,13 +35,6 @@ org.apache.isis.security.shiro.authorization.ShiroAuthorizationManagerInstaller
 
 
 ############################################################
-# VIEWERS
-############################################################
-
-org.apache.isis.viewer.restfulobjects.viewer.embedded.RestfulObjectsViewerInstaller  # "restfulobjects"
-
-
-############################################################
 # PROGRAMMING MODELS
 ############################################################
 
@@ -75,9 +68,6 @@ org.apache.isis.core.profilestore.InMemoryUserProfileStoreInstaller # "in-memory
 # reflector decorators
 org.apache.isis.core.runtime.transaction.facetdecorator.standard.TransactionFacetDecoratorInstaller  # "transaction"
 
-# embedded web server
-org.apache.isis.core.webserver.embedded.jetty.JettyEmbeddedWebServerInstaller   # "jetty"
-
 
 ####### END #########
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/EmbeddedWebViewerRestfulObjects.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/EmbeddedWebViewerRestfulObjects.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/EmbeddedWebViewerRestfulObjects.java
deleted file mode 100644
index e0fecbb..0000000
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/EmbeddedWebViewerRestfulObjects.java
+++ /dev/null
@@ -1,61 +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.viewer.restfulobjects.server.embedded;
-
-import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
-import org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap;
-
-import org.apache.isis.core.commons.lang.MapUtil;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-import org.apache.isis.core.runtime.web.EmbeddedWebViewer;
-import org.apache.isis.core.webapp.IsisSessionFilter;
-import org.apache.isis.core.webapp.IsisWebAppBootstrapper;
-import org.apache.isis.core.webapp.content.ResourceCachingFilter;
-import org.apache.isis.core.webapp.content.ResourceServlet;
-import org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication;
-import org.apache.isis.viewer.restfulobjects.server.authentication.AuthenticationSessionStrategyTrusted;
-
-final class EmbeddedWebViewerRestfulObjects extends EmbeddedWebViewer {
-    @Override
-    public WebAppSpecification getWebAppSpecification() {
-        final WebAppSpecification webAppSpec = new WebAppSpecification();
-
-        webAppSpec.addServletContextListener(IsisWebAppBootstrapper.class);
-        
-        webAppSpec.addContextParams("isis.viewers", "restfulobjects");
-
-        webAppSpec.addContextParams(RestfulObjectsViewerInstaller.JAVAX_WS_RS_APPLICATION, RestfulObjectsApplication.class.getName());
-
-        webAppSpec.addFilterSpecification(IsisSessionFilter.class, 
-                MapUtil.<String,String>asMap(
-                        IsisSessionFilter.AUTHENTICATION_SESSION_STRATEGY_KEY, AuthenticationSessionStrategyTrusted.class.getName(),
-                        IsisSessionFilter.WHEN_NO_SESSION_KEY, IsisSessionFilter.WhenNoSession.CONTINUE.name().toLowerCase()), 
-                RestfulObjectsViewerInstaller.EVERYTHING);
-
-        webAppSpec.addFilterSpecification(ResourceCachingFilter.class, RestfulObjectsViewerInstaller.STATIC_CONTENT);
-        webAppSpec.addServletSpecification(ResourceServlet.class, RestfulObjectsViewerInstaller.STATIC_CONTENT);
-
-        
-        webAppSpec.addServletContextListener(ResteasyBootstrap.class);
-        webAppSpec.addServletSpecification(HttpServletDispatcher.class, RestfulObjectsViewerInstaller.ROOT);
-
-
-        return webAppSpec;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/RestfulObjectsViewerInstaller.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/RestfulObjectsViewerInstaller.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/RestfulObjectsViewerInstaller.java
deleted file mode 100644
index da3f6a7..0000000
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/embedded/RestfulObjectsViewerInstaller.java
+++ /dev/null
@@ -1,52 +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.viewer.restfulobjects.server.embedded;
-
-import org.apache.isis.Isis;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstallerAbstract;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-
-/**
- * Convenience implementation of a {@link IsisViewer} providing the ability to
- * configured for the JSON viewer from the {@link Isis command line} using
- * <tt>--viewer restful</tt> command line option.
- * 
- * <p>
- * In a production deployment the configuration represented by the
- * {@link WebAppSpecification} would be specified in the <tt>web.xml<tt> file.
- */
-public class RestfulObjectsViewerInstaller extends IsisViewerInstallerAbstract {
-
-    static final String JAVAX_WS_RS_APPLICATION = "javax.ws.rs.Application";
-
-    protected static final String EVERYTHING = "*";
-    protected static final String ROOT = "/";
-    protected static final String[] STATIC_CONTENT = new String[] { "*.js", "*.gif", "*.png", "*.html" };
-
-    public RestfulObjectsViewerInstaller() {
-        super("restfulobjects");
-    }
-
-    @Override
-    protected IsisViewer doCreateViewer() {
-        return new EmbeddedWebViewerRestfulObjects();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/EmbeddedWebServerJetty.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/EmbeddedWebServerJetty.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/EmbeddedWebServerJetty.java
deleted file mode 100644
index 3e991ad..0000000
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/EmbeddedWebServerJetty.java
+++ /dev/null
@@ -1,228 +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.webserver.embedded.jetty;
-
-import java.util.List;
-
-import javax.servlet.ServletContextListener;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.NCSARequestLog;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.ContextHandler;
-import org.mortbay.jetty.handler.HandlerList;
-import org.mortbay.jetty.handler.RequestLogHandler;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.servlet.FilterHolder;
-import org.mortbay.jetty.servlet.FilterMapping;
-import org.mortbay.jetty.servlet.ServletHandler;
-import org.mortbay.jetty.servlet.ServletHolder;
-import org.mortbay.jetty.servlet.ServletMapping;
-import org.mortbay.jetty.servlet.SessionHandler;
-
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.runtime.viewer.web.FilterSpecification;
-import org.apache.isis.core.runtime.viewer.web.ServletSpecification;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-import org.apache.isis.core.runtime.web.EmbeddedWebServerAbstract;
-import org.apache.isis.core.webserver.WebServerConstants;
-import org.apache.isis.core.webserver.WebServerException;
-
-public class EmbeddedWebServerJetty extends EmbeddedWebServerAbstract {
-    private final static Logger LOG = LoggerFactory.getLogger(EmbeddedWebServerJetty.class);
-
-    // ///////////////////////////////////////////////////////
-    // init, shutdown
-    // ///////////////////////////////////////////////////////
-
-    @Override
-    public void init() {
-        super.init();
-
-        final HandlerList handlers = createHandlers();
-
-        final ContextHandler contextHandler = createContextHandler(handlers);
-
-        startServer(contextHandler);
-    }
-
-    private HandlerList createHandlers() {
-        final HandlerList handlers = new HandlerList();
-
-        addResourcesAndWelcomeFiles(handlers);
-
-        final ServletHandler servletHandler = new ServletHandler();
-        addServletsAndFilters(servletHandler);
-
-        final SessionHandler sessionHandler = new SessionHandler();
-        sessionHandler.setHandler(servletHandler);
-        handlers.addHandler(sessionHandler);
-
-        // commenting out; this grabs '/' but we might want to use it ourselves,
-        // instead?
-        // handlers.addHandler(new DefaultHandler());
-
-        // TODO use properties to set up
-        final RequestLogHandler requestLogHandler = new RequestLogHandler();
-        handlers.addHandler(requestLogHandler);
-        final NCSARequestLog requestLog = new NCSARequestLog("./logs/jetty-yyyy_mm_dd.request.log");
-        requestLog.setRetainDays(90);
-        requestLog.setAppend(true);
-        requestLog.setExtended(false);
-        requestLog.setLogTimeZone("GMT");
-        requestLogHandler.setRequestLog(requestLog);
-
-        return handlers;
-    }
-
-    /**
-     * TODO: the welcome files don't seem to be picked up.
-     * 
-     * <p>
-     * not sure if meant to add welcome files here or at the context handler
-     * level, in fact, doesn't seem to work even when register in both...
-     * 
-     * @see #setWelcomeFiles(ContextHandler)
-     */
-    private void addResourcesAndWelcomeFiles(final HandlerList handlers) {
-        for (final WebAppSpecification specification : getSpecifications()) {
-            final List<String> files = specification.getWelcomeFiles();
-            final String[] welcomeFiles = files.toArray(new String[files.size()]);
-            for (final String resourcePath : specification.getResourcePaths()) {
-                final ResourceHandler resourceHandler = new ResourceHandler();
-                resourceHandler.setResourceBase(resourcePath);
-                resourceHandler.setWelcomeFiles(welcomeFiles);
-                handlers.addHandler(resourceHandler);
-            }
-        }
-    }
-
-    private void addServletsAndFilters(final ServletHandler servletHandler) {
-        for (final WebAppSpecification requirement : getSpecifications()) {
-            addServletMappings(servletHandler, requirement);
-            addFilterMappings(servletHandler, requirement);
-        }
-    }
-
-    private void addServletMappings(final ServletHandler servletHandler, final WebAppSpecification webAppSpec) {
-        for (final ServletSpecification servletSpec : webAppSpec.getServletSpecifications()) {
-
-            final ServletHolder servletHolder = new ServletHolder(servletSpec.getServletClass());
-            servletHolder.setInitParameters(servletSpec.getInitParams());
-            servletHandler.addServlet(servletHolder);
-
-            final ServletMapping servletMapping = new ServletMapping();
-            servletMapping.setServletName(servletHolder.getName());
-            servletMapping.setPathSpecs(servletSpec.getPathSpecs().toArray(new String[] {}));
-
-            servletHandler.addServletMapping(servletMapping);
-        }
-    }
-
-    private void addFilterMappings(final ServletHandler servletHandler, final WebAppSpecification webAppSpec) {
-        for (final FilterSpecification filterSpec : webAppSpec.getFilterSpecifications()) {
-
-            final FilterHolder filterHolder = new FilterHolder(filterSpec.getFilterClass());
-            filterHolder.setInitParameters(filterSpec.getInitParams());
-            servletHandler.addFilter(filterHolder);
-
-            final FilterMapping filterMapping = new FilterMapping();
-            filterMapping.setFilterName(filterHolder.getName());
-            filterMapping.setPathSpecs(filterSpec.getPathSpecs().toArray(new String[] {}));
-            filterMapping.setDispatches(Handler.DEFAULT);
-            servletHandler.addFilterMapping(filterMapping);
-        }
-    }
-
-    private ContextHandler createContextHandler(final HandlerList handlers) {
-        final ContextHandler contextHandler = buildContextHandler(handlers);
-        addContextParams(contextHandler);
-        addServletContextListeners(contextHandler);
-        setWelcomeFiles(contextHandler);
-        return contextHandler;
-    }
-
-    private ContextHandler buildContextHandler(final HandlerList handlers) {
-        final ContextHandler contextHandler = new ContextHandler("/");
-        contextHandler.setClassLoader(Thread.currentThread().getContextClassLoader());
-        contextHandler.setHandler(handlers);
-        return contextHandler;
-    }
-
-    private void addContextParams(final ContextHandler contextHandler) {
-        for (final WebAppSpecification specification : getSpecifications()) {
-            contextHandler.setInitParams(specification.getContextParams());
-        }
-    }
-
-    private void addServletContextListeners(final ContextHandler contextHandler) {
-        for (final WebAppSpecification specification : getSpecifications()) {
-            for (final Class<?> servletContextListenerClass : specification.getServletContextListeners()) {
-                final ServletContextListener servletContext = (ServletContextListener) InstanceUtil.createInstance(servletContextListenerClass);
-                contextHandler.addEventListener(servletContext);
-            }
-        }
-    }
-
-    /**
-     * TODO: this doesn't seem to be being picked up
-     * 
-     * <p>
-     * not sure if meant to add welcome files here or at the resource base
-     * level, in fact, doesn't seem to work even when register in both...
-     * 
-     * @see #addResourcesAndWelcomeFiles(HandlerList)
-     */
-    private void setWelcomeFiles(final ContextHandler contextHandler) {
-        for (final WebAppSpecification specification : getSpecifications()) {
-            contextHandler.setWelcomeFiles(specification.getWelcomeFiles().toArray(new String[] {}));
-        }
-    }
-
-    private void startServer(final ContextHandler contextHandler) {
-        final int port = getConfiguration().getInteger(WebServerConstants.EMBEDDED_WEB_SERVER_PORT_KEY, WebServerConstants.EMBEDDED_WEB_SERVER_PORT_DEFAULT);
-        if (LOG.isInfoEnabled()) {
-            LOG.info("Starting web server on http://localhost:" + port);
-            for (final WebAppSpecification specification : getSpecifications()) {
-                final String logHint = specification.getLogHint();
-                if (logHint != null) {
-                    LOG.info(logHint);
-                }
-            }
-        }
-        try {
-            final Server server = new Server(port);
-            server.addHandler(contextHandler);
-            server.start();
-        } catch (final RuntimeException e) {
-            throw e;
-        } catch (final Exception e) {
-            throw new WebServerException("Web server failed to start", e);
-        }
-    }
-
-    @Override
-    public void shutdown() {
-        // does nothing
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/JettyEmbeddedWebServerInstaller.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/JettyEmbeddedWebServerInstaller.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/JettyEmbeddedWebServerInstaller.java
deleted file mode 100644
index 4cf133d..0000000
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/embedded/jetty/JettyEmbeddedWebServerInstaller.java
+++ /dev/null
@@ -1,49 +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.webserver.embedded.jetty;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.runtime.installerregistry.installerapi.EmbeddedWebServerInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstaller;
-import org.apache.isis.core.runtime.web.EmbeddedWebServer;
-import org.apache.isis.core.runtime.web.EmbeddedWebViewer;
-
-/**
- * Not to be confused with {@link IsisViewerInstaller}, this installer is for a
- * component to <i>host</i> any {@link EmbeddedWebViewer} implementations.
- */
-public class JettyEmbeddedWebServerInstaller extends InstallerAbstract implements EmbeddedWebServerInstaller {
-
-    public JettyEmbeddedWebServerInstaller() {
-        super(EmbeddedWebServerInstaller.TYPE, "jetty");
-    }
-
-    @Override
-    public EmbeddedWebServer createEmbeddedWebServer() {
-        return new EmbeddedWebServerJetty();
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(EmbeddedWebServer.class);
-    }
-}


[08/12] git commit: ISIS-913: removing TemplateImageLoader, also DeploymentType.EXPLORATION, PROTOTYPE, CLIENT (have retained the server-side equivalents).

Posted by da...@apache.org.
ISIS-913: removing TemplateImageLoader, also DeploymentType.EXPLORATION, PROTOTYPE, CLIENT (have retained the server-side equivalents).

Also removed MultiUserExplorationSession.


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

Branch: refs/heads/master
Commit: c769dacceb76b84a4488dba66bec3bb49380d781
Parents: b5a05ac
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Oct 3 18:40:21 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Oct 3 18:40:21 2014 +0100

----------------------------------------------------------------------
 .../isis/DeploymentTypeAbstract.java            |   3 +-
 .../TemplateImageLoaderNoopInstaller.java       |  44 --
 .../components/TemplateImageLoaderNull.java     |  44 --
 .../integtestsupport/legacy/IsisTestRunner.java |   2 +-
 .../core/runtime/imageloader/TemplateImage.java |  34 --
 .../runtime/imageloader/TemplateImageImpl.java  | 105 ----
 .../imageloader/TemplateImageLoader.java        |  30 -
 .../TemplateImageLoaderInstaller.java           |  29 -
 .../TemplateImageLoaderProvider.java            |  26 -
 .../runtime/imageloader/awt/ImageConstants.java |  27 -
 .../imageloader/awt/TemplateImageLoaderAwt.java | 327 -----------
 .../awt/TemplateImageLoaderAwtInstaller.java    |  43 --
 .../noop/TemplateImageLoaderNoop.java           |  40 --
 .../noop/TemplateImageLoaderNoopInstaller.java  |  43 --
 .../core/runtime/imageloader/package-info.java  |  26 -
 .../exploration/ExplorationAuthenticator.java   |  15 +-
 .../MultiUserExplorationSession.java            | 126 ----
 .../installerregistry/InstallerLookup.java      |  21 -
 .../isis/core/runtime/runner/Constants.java     |   7 -
 .../opts/OptionHandlerDeploymentTypeIsis.java   |  37 --
 .../core/runtime/system/DeploymentType.java     |  43 +-
 .../system/IsisSystemFixturesHookAbstract.java  |  50 --
 .../runtime/system/context/IsisContext.java     |  22 -
 .../runtime/system/internal/SplashWindow.java   | 225 -------
 .../runtime/system/session/IsisSession.java     |  16 +-
 .../system/session/IsisSessionDefault.java      |  20 +-
 .../system/session/IsisSessionFactory.java      |   9 +-
 .../session/IsisSessionFactoryDefault.java      |  29 +-
 .../IsisSystemAbstract.java                     |  24 +-
 .../IsisSystemUsingInstallers.java              |  36 +-
 ...AuthenticatorAbstractForDfltRuntimeTest.java |  11 +-
 .../MultiUserExplorationSessionTest.java        | 209 -------
 .../ExplorationAuthenticatorTest.java           |  15 +-
 .../fixture/LogonFixtureAuthenticatorTest.java  |  13 +-
 .../core/runtime/context/IsisContextTest.java   |   8 +-
 ...onFactoryAbstractTest_init_and_shutdown.java |  20 +-
 .../todoapp/webapp/coverage-error.log           | 585 +++++++++++++++++++
 37 files changed, 659 insertions(+), 1705 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/DeploymentTypeAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/DeploymentTypeAbstract.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/DeploymentTypeAbstract.java
index a12dccd..cfca7c6 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/DeploymentTypeAbstract.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/DeploymentTypeAbstract.java
@@ -22,7 +22,6 @@ package org.apache.isis.viewer.wicket.viewer.integration.isis;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.runtime.system.ContextCategory;
 import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.Splash;
 
 /**
  * Simple adapter for Isis' {@link DeploymentType} class, specifying that the
@@ -32,7 +31,7 @@ import org.apache.isis.core.runtime.system.Splash;
 public abstract class DeploymentTypeAbstract extends DeploymentType {
 
     public DeploymentTypeAbstract(final String name, final DeploymentCategory category) {
-        super(name, category, ContextCategory.THREADLOCAL, null, Splash.NO_SHOW);
+        super(name, category, ContextCategory.THREADLOCAL);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNoopInstaller.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNoopInstaller.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNoopInstaller.java
deleted file mode 100644
index 0e78f50..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNoopInstaller.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.integtestsupport.components;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
-
-public class TemplateImageLoaderNoopInstaller extends InstallerAbstract implements TemplateImageLoaderInstaller {
-
-    public TemplateImageLoaderNoopInstaller() {
-        super(TemplateImageLoaderInstaller.TYPE, "noop");
-    }
-
-    @Override
-    public TemplateImageLoader createLoader() {
-        return new TemplateImageLoaderNull();
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(TemplateImageLoader.class);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.java
deleted file mode 100644
index 4a68549..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/TemplateImageLoaderNull.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.integtestsupport.components;
-
-import org.apache.isis.core.commons.components.Noop;
-import org.apache.isis.core.runtime.imageloader.TemplateImage;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-
-/**
- * No-op implementation, for tests.
- */
-public class TemplateImageLoaderNull implements TemplateImageLoader, Noop {
-
-    @Override
-    public TemplateImage getTemplateImage(final String name) {
-        return null;
-    }
-
-    @Override
-    public void init() {
-    }
-
-    @Override
-    public void shutdown() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
index ed361c3..7319f93 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
@@ -91,7 +91,7 @@ public class IsisTestRunner extends JUnit4ClassRunner {
         try {
             // init the system; cf similar code in Isis and
             // IsisServletContextInitializer
-            final DeploymentType deploymentType = DeploymentType.PROTOTYPE;
+            final DeploymentType deploymentType = DeploymentType.SERVER_PROTOTYPE;
 
             // TODO: replace with regular IsisSystem and remove this subclass.
             system = new IsisSystemUsingInstallersWithinJunit(deploymentType, installerLookup, testClass);

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImage.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImage.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImage.java
deleted file mode 100644
index 73b1bac..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImage.java
+++ /dev/null
@@ -1,34 +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.imageloader;
-
-import java.awt.Image;
-
-/**
- * A template image is an image that is used to create other images from.
- * 
- * <p>
- * Typically this will be a larger image that can be scaled down in size.
- */
-public interface TemplateImage {
-    Image getImage();
-
-    Image getIcon(final int height);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java
deleted file mode 100644
index 138e540..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageImpl.java
+++ /dev/null
@@ -1,105 +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.imageloader;
-
-import java.awt.Canvas;
-import java.awt.Image;
-import java.awt.MediaTracker;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Many icons are based on the same image, but in different sizes and possibly
- * different colours. The ImageTemplate class loads and holds them image, and
- * can provide it clients with the full sized images or scaled images.
- */
-public class TemplateImageImpl implements TemplateImage {
-    private final static Logger LOG = LoggerFactory.getLogger(TemplateImageImpl.class);
-
-    /**
-     * Factory method.
-     */
-    public static TemplateImageImpl create(final java.awt.Image image) {
-        if (image == null) {
-            return null;
-        }
-        return new TemplateImageImpl(image);
-
-    }
-
-    private final Image image;
-    private final MediaTracker mt = new MediaTracker(new Canvas());
-
-    private TemplateImageImpl(final Image image) {
-        if (image == null) {
-            throw new NullPointerException();
-        }
-        this.image = image;
-    }
-
-    @Override
-    public Image getImage() {
-        return image;
-    }
-
-    @Override
-    public Image getIcon(final int height) {
-        Image iconImage;
-
-        if (height == image.getHeight(null)) {
-            return image;
-        }
-
-        iconImage = image.getScaledInstance(-1, height, java.awt.Image.SCALE_SMOOTH);
-
-        if (iconImage != null) {
-            mt.addImage(iconImage, 0);
-
-            try {
-                mt.waitForAll();
-            } catch (final Exception e) {
-                // TODO: tidy up this horrid code.
-                e.printStackTrace();
-            }
-
-            if (mt.isErrorAny()) {
-                LOG.error("failed to create scaled image: " + iconImage + " " + mt.getErrorsAny()[0]);
-                mt.removeImage(iconImage);
-                iconImage = null;
-            } else {
-                mt.removeImage(iconImage);
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("image " + iconImage + " scaled to " + height);
-                }
-            }
-        }
-
-        if (iconImage == null) {
-            throw new RuntimeException("no icon image!");
-        } else {
-            if (iconImage.getWidth(null) == -1) {
-                throw new RuntimeException("scaled image! " + iconImage.toString());
-            }
-        }
-
-        return iconImage;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoader.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoader.java
deleted file mode 100644
index 85d6ea8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoader.java
+++ /dev/null
@@ -1,30 +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.imageloader;
-
-import org.apache.isis.core.commons.components.ApplicationScopedComponent;
-
-/**
- * This interface defines how template images are found by name.
- */
-public interface TemplateImageLoader extends ApplicationScopedComponent {
-
-    TemplateImage getTemplateImage(final String name);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderInstaller.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderInstaller.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderInstaller.java
deleted file mode 100644
index 30f9a4a..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderInstaller.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.imageloader;
-
-import org.apache.isis.core.commons.components.Installer;
-
-public interface TemplateImageLoaderInstaller extends Installer {
-
-    static String TYPE = "template-image-loader";
-
-    TemplateImageLoader createLoader();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderProvider.java
deleted file mode 100644
index ce71317..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/TemplateImageLoaderProvider.java
+++ /dev/null
@@ -1,26 +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.imageloader;
-
-
-public interface TemplateImageLoaderProvider {
-
-    TemplateImageLoader getTemplateImageLoader();
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/ImageConstants.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/ImageConstants.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/ImageConstants.java
deleted file mode 100644
index c1b380b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/ImageConstants.java
+++ /dev/null
@@ -1,27 +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.imageloader.awt;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-
-public class ImageConstants {
-
-    public static final String PROPERTY_BASE = ConfigurationConstants.ROOT + "images.";
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
deleted file mode 100644
index a55c7d1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
+++ /dev/null
@@ -1,327 +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.imageloader.awt;
-
-import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState;
-import static org.hamcrest.CoreMatchers.is;
-
-import java.awt.Canvas;
-import java.awt.Image;
-import java.awt.MediaTracker;
-import java.awt.Toolkit;
-import java.awt.image.IndexColorModel;
-import java.awt.image.MemoryImageSource;
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.lang.ResourceUtil;
-import org.apache.isis.core.runtime.imageloader.TemplateImage;
-import org.apache.isis.core.runtime.imageloader.TemplateImageImpl;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-
-/**
- * This class loads up file based images as resources (part of the classpath) or
- * from the file system. Images of type PNG, GIF and JPEG will be used. The
- * default directory is images.
- */
-public class TemplateImageLoaderAwt implements TemplateImageLoader {
-
-    private final static Logger LOG = LoggerFactory.getLogger(TemplateImageLoaderAwt.class);
-
-    private static final String LOAD_IMAGES_FROM_FILES_KEY = ImageConstants.PROPERTY_BASE + "load-images-from-files";
-    private static final String[] EXTENSIONS = { "png", "gif", "jpg", "jpeg", "svg" };
-    private final static String IMAGE_DIRECTORY = "images";
-    private final static String IMAGE_DIRECTORY_PARAM = ImageConstants.PROPERTY_BASE + "image-directory";
-    private static final String SEPARATOR = "/";
-
-    private boolean initialized;
-
-    private boolean alsoLoadAsFiles;
-    protected final MediaTracker mt = new MediaTracker(new Canvas());
-
-    /**
-     * A keyed list of core images, one for each name, keyed by the image path.
-     */
-    private final Hashtable<String, TemplateImage> loadedImages = new Hashtable<String, TemplateImage>();
-    private final Vector<String> missingImages = new Vector<String>();
-    private final IsisConfiguration configuration;
-    private String directory;
-
-    // ////////////////////////////////////////////////////////////
-    // constructor
-    // ////////////////////////////////////////////////////////////
-
-    public TemplateImageLoaderAwt(final IsisConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    // ////////////////////////////////////////////////////////////
-    // init, shutdown
-    // ////////////////////////////////////////////////////////////
-
-    @Override
-    public void init() {
-        ensureNotInitialized();
-        LOG.info("images to be loaded from " + directory());
-        alsoLoadAsFiles = getConfiguration().getBoolean(LOAD_IMAGES_FROM_FILES_KEY, true);
-        initialized = true;
-    }
-
-    @Override
-    public void shutdown() {
-    }
-
-    private void ensureNotInitialized() {
-        ensureThatState(initialized, is(false));
-    }
-
-    private void ensureInitialized() {
-        ensureThatState(initialized, is(true));
-    }
-
-    // ////////////////////////////////////////////////////////////
-    // getTemplateImage
-    // ////////////////////////////////////////////////////////////
-
-    /**
-     * Returns an image template for the specified image (as specified by a path
-     * to a file or resource).
-     * 
-     * <p>
-     * If the path has no extension (<tt>.gif</tt>, <tt>.png</tt> etc) then all
-     * valid {@link #EXTENSIONS extensions} are searched for.
-     * 
-     * <p>
-     * This method attempts to load the image from the jar/zip file this class
-     * was loaded from ie, your application, and then from the file system as a
-     * file if can't be found as a resource. If neither method works the default
-     * image is returned.
-     * 
-     * @return returns a {@link TemplateImage} for the specified image file, or
-     *         null if none found.
-     */
-    @Override
-    public TemplateImage getTemplateImage(final String name) {
-        ensureInitialized();
-
-        if (loadedImages.containsKey(name)) {
-            return loadedImages.get(name);
-        }
-
-        if (missingImages.contains(name)) {
-            return null;
-        }
-
-        final List<String> candidates = getCandidates(name);
-        for (final String candidate : candidates) {
-            final Image image = load(candidate);
-            final TemplateImageImpl templateImage = TemplateImageImpl.create(image);
-            if (templateImage != null) {
-                loadedImages.put(name, templateImage);
-                return templateImage;
-            }
-        }
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("failed to find image for " + name);
-        }
-        missingImages.addElement(name);
-        return null;
-    }
-
-    // ////////////////////////////////////////////////////////////
-    // helpers: parsing path
-    // ////////////////////////////////////////////////////////////
-
-    private List<String> getCandidates(final String name) {
-        boolean hasExtension = false;
-        for (final String extension : EXTENSIONS) {
-            hasExtension = hasExtension || name.endsWith(extension);
-        }
-
-        final List<String> candidates = new ArrayList<String>();
-        if (hasExtension) {
-            candidates.add(name);
-        } else {
-            for (final String extension : EXTENSIONS) {
-                candidates.add(name + "." + extension);
-            }
-        }
-        return candidates;
-    }
-
-    // ////////////////////////////////////////////////////////////
-    // helpers: loading
-    // ////////////////////////////////////////////////////////////
-
-    private Image load(final String name) {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("searching for image " + name);
-        }
-
-        Image image = loadAsResource(name);
-        if (image != null) {
-            return image;
-        }
-
-        final String path = directory() + name;
-        image = loadAsResource(path);
-        if (image != null) {
-            return image;
-        }
-
-        if (alsoLoadAsFiles) {
-            image = loadAsFile(path);
-            if (image != null) {
-                return image;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Get an Image object from the jar/zip file that this class was loaded
-     * from.
-     */
-    protected Image loadAsResource(final String path) {
-        final URL url = ResourceUtil.getResourceURL(path);
-        if (url == null) {
-            LOG.debug("not found image in resources: " + path);
-            return null;
-        }
-
-        Image image = Toolkit.getDefaultToolkit().getImage(url);
-        if (image != null) {
-            mt.addImage(image, 0);
-            try {
-                mt.waitForAll();
-            } catch (final Exception e) {
-                e.printStackTrace();
-            }
-
-            if (mt.isErrorAny()) {
-                LOG.error("found image but failed to load it from resources: " + url + " " + mt.getErrorsAny()[0]);
-                mt.removeImage(image);
-                image = null;
-            } else {
-                mt.removeImage(image);
-                LOG.info("image loaded from resources: " + url);
-            }
-        }
-
-        if (image == null) {
-            throw new RuntimeException("null image");
-        } else {
-            if (image.getWidth(null) == -1) {
-                throw new RuntimeException(image.toString());
-            }
-        }
-
-        return image;
-    }
-
-    /**
-     * Get an {@link Image} object from the specified file path on the file
-     * system.
-     */
-    private Image loadAsFile(final String path) {
-        final File file = new File(path);
-
-        if (!file.exists()) {
-            return null;
-        }
-        final Toolkit t = Toolkit.getDefaultToolkit();
-        Image image = t.getImage(file.getAbsolutePath());
-
-        if (image != null) {
-            mt.addImage(image, 0);
-
-            try {
-                mt.waitForAll();
-            } catch (final Exception e) {
-                e.printStackTrace();
-            }
-
-            if (mt.isErrorAny()) {
-                LOG.error("found image file but failed to load it: " + file.getAbsolutePath());
-                mt.removeImage(image);
-                image = null;
-            } else {
-                mt.removeImage(image);
-                LOG.info("image loaded from file: " + file);
-            }
-        }
-        return image;
-    }
-
-    private String directory() {
-        if (directory == null) {
-            directory = getConfiguration().getString(IMAGE_DIRECTORY_PARAM, IMAGE_DIRECTORY);
-            if (!directory.endsWith(SEPARATOR)) {
-                directory = directory.concat(SEPARATOR);
-            }
-        }
-        return directory;
-    }
-
-    // ////////////////////////////////////////////////////////////
-    // unused
-    // ////////////////////////////////////////////////////////////
-
-    /**
-     * This code was commented out. I've reinstated it, even though it is
-     * unused, because it looks interesting and perhaps useful.
-     */
-    @SuppressWarnings("unused")
-    private Image createImage() {
-        final byte[] pixels = new byte[128 * 128];
-        for (int i = 0; i < pixels.length; i++) {
-            pixels[i] = (byte) (i % 128);
-        }
-
-        final byte[] r = new byte[] { 0, 127 };
-        final byte[] g = new byte[] { 0, 127 };
-        final byte[] b = new byte[] { 0, 127 };
-        final IndexColorModel colorModel = new IndexColorModel(1, 2, r, g, b);
-
-        final MemoryImageSource producer = new MemoryImageSource(128, 128, colorModel, pixels, 0, 128);
-        final Image image = Toolkit.getDefaultToolkit().createImage(producer);
-
-        return image;
-    }
-
-    // ////////////////////////////////////////////////////////////
-    // dependencies (from singleton)
-    // ////////////////////////////////////////////////////////////
-
-    private IsisConfiguration getConfiguration() {
-        return configuration;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java
deleted file mode 100644
index 4c933c0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwtInstaller.java
+++ /dev/null
@@ -1,43 +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.imageloader.awt;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
-
-public class TemplateImageLoaderAwtInstaller extends InstallerAbstract implements TemplateImageLoaderInstaller {
-
-    public TemplateImageLoaderAwtInstaller() {
-        super(TemplateImageLoaderInstaller.TYPE, "awt");
-    }
-
-    @Override
-    public TemplateImageLoader createLoader() {
-        return new TemplateImageLoaderAwt(getConfiguration());
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(TemplateImageLoader.class);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoop.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoop.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoop.java
deleted file mode 100644
index 597e1e0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoop.java
+++ /dev/null
@@ -1,40 +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.imageloader.noop;
-
-import org.apache.isis.core.runtime.imageloader.TemplateImage;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-
-public class TemplateImageLoaderNoop implements TemplateImageLoader {
-
-    @Override
-    public TemplateImage getTemplateImage(final String name) {
-        return null;
-    }
-
-    @Override
-    public void init() {
-    }
-
-    @Override
-    public void shutdown() {
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoopInstaller.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoopInstaller.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoopInstaller.java
deleted file mode 100644
index b760580..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/noop/TemplateImageLoaderNoopInstaller.java
+++ /dev/null
@@ -1,43 +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.imageloader.noop;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
-
-public class TemplateImageLoaderNoopInstaller extends InstallerAbstract implements TemplateImageLoaderInstaller {
-
-    public TemplateImageLoaderNoopInstaller() {
-        super(TemplateImageLoaderInstaller.TYPE, "noop");
-    }
-
-    @Override
-    public TemplateImageLoader createLoader() {
-        return new TemplateImageLoaderNoop();
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(TemplateImageLoader.class);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/package-info.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/package-info.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/package-info.java
deleted file mode 100644
index f01720b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/imageloader/package-info.java
+++ /dev/null
@@ -1,26 +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.
- */
-
-/**
- * Image Loading API.
- * 
- * <p>
- * Not generally intended to be implemented; the default implementation should normally suffice.
- */
-package org.apache.isis.core.runtime.imageloader;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/ExplorationAuthenticator.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/ExplorationAuthenticator.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/ExplorationAuthenticator.java
index eae56c2..45567a9 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/ExplorationAuthenticator.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/ExplorationAuthenticator.java
@@ -33,19 +33,10 @@ import org.apache.isis.core.runtime.authentication.standard.SimpleSession;
 import org.apache.isis.core.runtime.system.DeploymentType;
 
 /**
- * Creates a session suitable for {@link DeploymentType#EXPLORATION exploration}
+ * Creates a session suitable for {@link DeploymentType#SERVER_EXPLORATION exploration}
  * mode.
  * 
  * <p>
- * If the {@link IsisConfiguration} contains the key
- * {@value ExplorationAuthenticatorConstants#USERS} then returns a
- * {@link MultiUserExplorationSession} which encapsulates the details of several
- * users (and their roles). Viewers that are aware of this capability can offer
- * the convenient ability to switch between these users. For viewers that are
- * not aware, the {@link MultiUserExplorationSession} appears as a regular
- * {@link SimpleSession session}, with the Id of the first user listed.
- * 
- * <p>
  * The format of the {@value ExplorationAuthenticatorConstants#USERS} key should
  * be:
  * 
@@ -126,9 +117,7 @@ public class ExplorationAuthenticator extends AuthenticatorAbstractForDfltRuntim
         if (!authenticationRequestExploration.isDefaultUser()) {
             registeredSessions.add(createSimpleSession(authenticationRequestExploration.getName(), authenticationRequestExploration.getRoles()));
         }
-        if (registeredSessions.size() > 1) {
-            return new MultiUserExplorationSession(registeredSessions, code);
-        } else if (registeredSessions.size() == 1) {
+        if (registeredSessions.size() >= 1) {
             return registeredSessions.iterator().next();
         } else {
             return new ExplorationSession(code);

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/MultiUserExplorationSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/MultiUserExplorationSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/MultiUserExplorationSession.java
deleted file mode 100644
index b6c1b29..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/exploration/MultiUserExplorationSession.java
+++ /dev/null
@@ -1,126 +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.authentication.exploration;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSessionAbstract;
-import org.apache.isis.core.commons.encoding.DataInputExtended;
-import org.apache.isis.core.commons.encoding.DataOutputExtended;
-import org.apache.isis.core.commons.encoding.Encodable;
-import org.apache.isis.core.commons.util.ToString;
-import org.apache.isis.core.runtime.authentication.standard.SimpleSession;
-
-public final class MultiUserExplorationSession extends AuthenticationSessionAbstract implements Encodable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final Set<SimpleSession> sessions = new LinkedHashSet<SimpleSession>();;
-    private SimpleSession selectedSession;
-
-    // ////////////////////////////////////////////////////
-    // Constructors
-    // ////////////////////////////////////////////////////
-
-    public MultiUserExplorationSession(final Set<SimpleSession> sessions, final String code) {
-        super("unused", code);
-        this.sessions.addAll(sessions);
-        initialized();
-    }
-
-    public MultiUserExplorationSession(final DataInputExtended input) throws IOException {
-        super(input);
-        sessions.addAll(Arrays.asList(input.readEncodables(SimpleSession.class)));
-        selectedSession = input.readEncodable(SimpleSession.class);
-        initialized();
-    }
-
-    @Override
-    public void encode(final DataOutputExtended output) throws IOException {
-        super.encode(output);
-        output.writeEncodables(sessions.toArray());
-        output.writeEncodable(selectedSession);
-    }
-
-    private void initialized() {
-        if (selectedSession == null && sessions.size() > 0) {
-            selectedSession = sessions.iterator().next();
-        }
-    }
-
-    // ////////////////////////////////////////////////////
-    // Overriding API
-    // ////////////////////////////////////////////////////
-
-    @Override
-    public String getUserName() {
-        return selectedSession.getUserName();
-    }
-
-    @Override
-    public boolean hasUserNameOf(final String userName) {
-        for (final SimpleSession session : sessions) {
-            if (session.hasUserNameOf(userName)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public List<String> getRoles() {
-        return selectedSession.getRoles();
-    }
-
-    // ////////////////////////////////////////////////////
-    // not API
-    // ////////////////////////////////////////////////////
-
-    public void setCurrentSession(final String name) {
-        for (final SimpleSession user : this.sessions) {
-            if (user.getUserName().equals(name)) {
-                selectedSession = user;
-                break;
-            }
-        }
-    }
-
-    public Set<String> getUserNames() {
-        final Set<String> users = new LinkedHashSet<String>();
-        for (final SimpleSession user : sessions) {
-            users.add(user.getUserName());
-        }
-        return users;
-    }
-
-    // ////////////////////////////////////////////////////
-    // toString
-    // ////////////////////////////////////////////////////
-
-    @Override
-    public String toString() {
-        return new ToString(this).append("name", getUserNames()).append("userCount", sessions.size()).toString();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/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 7cb8b42..4346f58 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
@@ -19,7 +19,6 @@
 
 package org.apache.isis.core.runtime.installerregistry;
 
-import java.awt.Canvas;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -53,7 +52,6 @@ import org.apache.isis.core.runtime.about.ComponentDetails;
 import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstaller;
 import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
 import org.apache.isis.core.runtime.fixtures.FixturesInstaller;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
 import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
 import org.apache.isis.core.runtime.services.ServicesInstaller;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -209,25 +207,6 @@ public class InstallerLookup implements InstallerRepository, ApplicationScopedCo
         return getInstaller(FixturesInstaller.class, requested, SystemConstants.FIXTURES_INSTALLER_KEY, SystemConstants.FIXTURES_INSTALLER_DEFAULT);
     }
 
-    public TemplateImageLoaderInstaller templateImageLoaderInstaller(final String requested) {
-        try {
-            if(requested == null) {
-                // fail early if the default (which uses AWT) cannot be used.
-                // this is a workaround to force the fallback of Noop; ie for Google App Engine.
-                @SuppressWarnings("unused")
-                Canvas canvas = new java.awt.Canvas();
-            }
-            return templateImageLoaderInstaller(requested, SystemConstants.IMAGE_LOADER_DEFAULT);
-        } catch (NoClassDefFoundError e) {
-            // to support running on Google App Engine
-            return templateImageLoaderInstaller(requested, SystemConstants.IMAGE_LOADER_NOOP);
-        }
-    }
-
-    private TemplateImageLoaderInstaller templateImageLoaderInstaller(final String requested, final String fallback) {
-        return getInstaller(TemplateImageLoaderInstaller.class, requested, SystemConstants.IMAGE_LOADER_KEY, fallback);
-    }
-
     public PersistenceMechanismInstaller persistenceMechanismInstaller(final String requested, final DeploymentType deploymentType) {
         final String persistorDefault = deploymentType.isExploring() || deploymentType.isPrototyping() ? SystemConstants.OBJECT_PERSISTOR_NON_PRODUCTION_DEFAULT : SystemConstants.OBJECT_PERSISTOR_PRODUCTION_DEFAULT;
         return getInstaller(PersistenceMechanismInstaller.class, requested, SystemConstants.OBJECT_PERSISTOR_KEY, persistorDefault);

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
index a67ee96..8bd65c5 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.runtime.runner;
 
 import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstaller;
 import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
 import org.apache.isis.core.runtime.logging.LoggingConstants;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -33,9 +32,6 @@ public final class Constants {
 
     public static final String TYPE_OPT = "t";
     public static final String TYPE_LONG_OPT = "type";
-    public static final String TYPE_EXPLORATION = DeploymentType.EXPLORATION.friendlyName();
-    public static final String TYPE_PROTOTYPE = DeploymentType.PROTOTYPE.friendlyName();
-    public static final String TYPE_SINGLE_USER = DeploymentType.SINGLE_USER.friendlyName();
     public static final String TYPE_SERVER_EXPLORATION = DeploymentType.SERVER_EXPLORATION.friendlyName();
     public static final String TYPE_SERVER_PROTOTYPE = DeploymentType.SERVER_PROTOTYPE.friendlyName();
     public static final String TYPE_SERVER = DeploymentType.SERVER.friendlyName();
@@ -49,9 +45,6 @@ public final class Constants {
     public static final String USER_PROFILE_STORE_OPT = "e";
     public static final String USER_PROFILE_STORE_LONG_OPT = UserProfileStoreInstaller.TYPE;
 
-    public static final String VIEWER_OPT = "v";
-    public static final String VIEWER_LONG_OPT = IsisViewerInstaller.TYPE;
-
     public static final String CONFIGURATION_OPT = "c";
     public static final String CONFIGURATION_LONG_OPT = "config";
 

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentTypeIsis.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentTypeIsis.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentTypeIsis.java
deleted file mode 100644
index 4bc5ddc..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentTypeIsis.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.runtime.runner.opts;
-
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public class OptionHandlerDeploymentTypeIsis extends OptionHandlerDeploymentType {
-
-    public static final String TYPE_EXPLORATION = DeploymentType.EXPLORATION.friendlyName();
-    public static final String TYPE_PROTOTYPE = DeploymentType.PROTOTYPE.friendlyName();
-    public static final String TYPE_SINGLE_USER = DeploymentType.SINGLE_USER.friendlyName();
-    public static final String TYPE_SERVER_EXPLORATION = DeploymentType.SERVER_EXPLORATION.friendlyName();
-    public static final String TYPE_SERVER_PROTOTYPE = DeploymentType.SERVER_PROTOTYPE.friendlyName();
-    public static final String TYPE_SERVER = DeploymentType.SERVER.friendlyName();
-
-    public OptionHandlerDeploymentTypeIsis() {
-        super(DeploymentType.PROTOTYPE, TYPE_EXPLORATION + "; " + TYPE_PROTOTYPE + " (default); " + TYPE_SINGLE_USER + "; " + TYPE_SERVER_EXPLORATION + "; " + TYPE_SERVER_PROTOTYPE + "; " + TYPE_SERVER);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
index 5a99080..693f470 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
@@ -58,15 +58,11 @@ public class DeploymentType implements DeploymentCategoryProvider {
 
     private static List<DeploymentType> deploymentTypes = Lists.newArrayList();
 
-    public static DeploymentType EXPLORATION = new DeploymentType("EXPLORATION", DeploymentCategory.EXPLORING, ContextCategory.STATIC_RELAXED, SystemConstants.VIEWER_DEFAULT, Splash.SHOW);
-    public static DeploymentType PROTOTYPE = new DeploymentType("PROTOTYPE", DeploymentCategory.PROTOTYPING, ContextCategory.STATIC_RELAXED, SystemConstants.VIEWER_DEFAULT, Splash.SHOW);
-    public static DeploymentType UNIT_TESTING = new DeploymentType("UNIT_TESTING", DeploymentCategory.PRODUCTION, ContextCategory.STATIC_RELAXED, null, Splash.NO_SHOW);
-    public static DeploymentType CLIENT = new DeploymentType("CLIENT", DeploymentCategory.PRODUCTION, ContextCategory.STATIC, SystemConstants.VIEWER_DEFAULT, Splash.SHOW);
-    public static DeploymentType SERVER = new DeploymentType("SERVER", DeploymentCategory.PRODUCTION, ContextCategory.THREADLOCAL, null, Splash.NO_SHOW);
-    public static DeploymentType SERVER_EXPLORATION = new DeploymentType("SERVER_EXPLORATION", DeploymentCategory.EXPLORING, ContextCategory.THREADLOCAL, null, Splash.NO_SHOW);
-    public static DeploymentType SERVER_PROTOTYPE = new DeploymentType("SERVER_PROTOTYPE", DeploymentCategory.PROTOTYPING, ContextCategory.THREADLOCAL, null, Splash.NO_SHOW);
-    public static DeploymentType SINGLE_USER = new DeploymentType("SINGLE_USER", DeploymentCategory.PRODUCTION, ContextCategory.STATIC, SystemConstants.VIEWER_DEFAULT, Splash.NO_SHOW);
-    public static DeploymentType UTILITY = new DeploymentType("UTILITY", DeploymentCategory.EXPLORING, ContextCategory.STATIC, null, Splash.NO_SHOW);
+    public static DeploymentType SERVER = new DeploymentType("SERVER", DeploymentCategory.PRODUCTION, ContextCategory.THREADLOCAL);
+    public static DeploymentType SERVER_EXPLORATION = new DeploymentType("SERVER_EXPLORATION", DeploymentCategory.EXPLORING, ContextCategory.THREADLOCAL);
+    public static DeploymentType SERVER_PROTOTYPE = new DeploymentType("SERVER_PROTOTYPE", DeploymentCategory.PROTOTYPING, ContextCategory.THREADLOCAL);
+    public static DeploymentType UNIT_TESTING = new DeploymentType("UNIT_TESTING", DeploymentCategory.EXPLORING, ContextCategory.STATIC);
+    public static DeploymentType UTILITY = new DeploymentType("UTILITY", DeploymentCategory.EXPLORING, ContextCategory.STATIC);
 
     /**
      * Look up {@link DeploymentType} by their {@link #name()}.
@@ -90,14 +86,11 @@ public class DeploymentType implements DeploymentCategoryProvider {
     private final String name;
     private final DeploymentCategory deploymentCategory;
     private final ContextCategory contextCategory;
-    private final String defaultViewer;
-    private final Splash splash;
 
-    public DeploymentType(final String name, final DeploymentCategory category, final ContextCategory contextCategory, final String defaultViewer, final Splash splash) {
+    public DeploymentType(
+            final String name, final DeploymentCategory category, final ContextCategory contextCategory) {
         this.deploymentCategory = category;
         this.contextCategory = contextCategory;
-        this.defaultViewer = defaultViewer;
-        this.splash = splash;
         this.name = name;
         deploymentTypes.add(this);
     }
@@ -109,8 +102,6 @@ public class DeploymentType implements DeploymentCategoryProvider {
             public void debugData(final DebugBuilder debug) {
                 debug.appendln("Category", deploymentCategory);
                 debug.appendln("Context", contextCategory);
-                debug.appendln("Default viewer", defaultViewer == null ? "none" : defaultViewer);
-                debug.appendln("Show splash", splash);
                 debug.appendln();
                 debug.appendln("Name", friendlyName());
                 debug.appendln("Should monitor", shouldMonitor());
@@ -127,20 +118,6 @@ public class DeploymentType implements DeploymentCategoryProvider {
         contextCategory.initContext(sessionFactory);
     }
 
-    /**
-     * Whether the list of viewers names provided is compatible with this
-     * {@link DeploymentType}.
-     * 
-     * @see ContextCategory#canSpecifyViewers(List)
-     */
-    public boolean canSpecifyViewers(final List<String> viewers) {
-        return contextCategory.canSpecifyViewers(viewers);
-    }
-
-    public boolean shouldShowSplash() {
-        return splash.isShow();
-    }
-
     public boolean shouldMonitor() {
         return (this == SERVER) && isProduction();
     }
@@ -162,12 +139,6 @@ public class DeploymentType implements DeploymentCategoryProvider {
         return deploymentCategory.isProduction();
     }
 
-    public void addDefaultViewer(final List<String> requestedViewers) {
-        if (requestedViewers.size() == 0 && defaultViewer != null) {
-            requestedViewers.add(defaultViewer);
-        }
-    }
-
     public String friendlyName() {
         return nameLowerCase().replace('_', '-');
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
index be43af1..b9c849c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
@@ -22,10 +22,8 @@ package org.apache.isis.core.runtime.system;
 import java.io.File;
 import java.util.Collection;
 import java.util.List;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.fixtures.LogonFixture;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -42,15 +40,12 @@ import org.apache.isis.core.runtime.about.AboutIsis;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authentication.exploration.ExplorationSession;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.imageloader.awt.TemplateImageLoaderAwt;
 import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
 import org.apache.isis.core.runtime.persistence.PersistenceConstants;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.internal.InitialisationSession;
 import org.apache.isis.core.runtime.system.internal.IsisLocaleInitializer;
 import org.apache.isis.core.runtime.system.internal.IsisTimeZoneInitializer;
-import org.apache.isis.core.runtime.system.internal.SplashWindow;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.system.session.IsisSession;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
@@ -66,14 +61,10 @@ public abstract class IsisSystemFixturesHookAbstract implements IsisSystem {
 
     public static final Logger LOG = LoggerFactory.getLogger(IsisSystemFixturesHookAbstract.class);
 
-    private static final int SPLASH_DELAY_DEFAULT = 6;
-
     private final IsisLocaleInitializer localeInitializer;
     private final IsisTimeZoneInitializer timeZoneInitializer;
     private final DeploymentType deploymentType;
 
-    private SplashWindow splashWindow;
-
     private boolean initialized = false;
 
     private IsisSessionFactory sessionFactory;
@@ -123,12 +114,7 @@ public abstract class IsisSystemFixturesHookAbstract implements IsisSystem {
         localeInitializer.initLocale(getConfiguration());
         timeZoneInitializer.initTimeZone(getConfiguration());
 
-        int splashDelay = SPLASH_DELAY_DEFAULT;
         try {
-            final TemplateImageLoader splashLoader = obtainTemplateImageLoader();
-            splashLoader.init();
-            showSplash(splashLoader);
-
             sessionFactory = doCreateSessionFactory(deploymentType);
 
             // temporarily make a configuration available
@@ -145,10 +131,7 @@ public abstract class IsisSystemFixturesHookAbstract implements IsisSystem {
 
         } catch (final IsisSystemException ex) {
             LOG.error("failed to initialise", ex);
-            splashDelay = 0;
             throw new RuntimeException(ex);
-        } finally {
-            removeSplash(splashDelay);
         }
     }
 
@@ -262,17 +245,6 @@ public abstract class IsisSystemFixturesHookAbstract implements IsisSystem {
     @Override
     public abstract IsisConfiguration getConfiguration();
 
-    // ///////////////////////////////////////////
-    // TemplateImageLoader
-    // ///////////////////////////////////////////
-
-    /**
-     * Just returns a {@link TemplateImageLoaderAwt}; subclasses may override if
-     * required.
-     */
-    protected TemplateImageLoader obtainTemplateImageLoader() {
-        return new TemplateImageLoaderAwt(getConfiguration());
-    }
 
     // ///////////////////////////////////////////
     // OidMarshaller
@@ -374,28 +346,6 @@ public abstract class IsisSystemFixturesHookAbstract implements IsisSystem {
 
     protected abstract List<Object> obtainServices();
 
-    // ///////////////////////////////////////////
-    // Splash
-    // ///////////////////////////////////////////
-
-    private void showSplash(final TemplateImageLoader imageLoader) {
-
-        final boolean vetoSplashFromConfig = getConfiguration().getBoolean(SystemConstants.NOSPLASH_KEY, SystemConstants.NOSPLASH_DEFAULT);
-        if (!vetoSplashFromConfig && getDeploymentType().shouldShowSplash()) {
-            splashWindow = new SplashWindow(imageLoader);
-        }
-    }
-
-    private void removeSplash(final int delay) {
-        if (splashWindow != null) {
-            if (delay == 0) {
-                splashWindow.removeImmediately();
-            } else {
-                splashWindow.toFront();
-                splashWindow.removeAfterDelay(delay);
-            }
-        }
-    }
 
     // ///////////////////////////////////////////
     // debugging

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
index d0e9299..adbc41f 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
@@ -37,7 +37,6 @@ import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.session.IsisSession;
@@ -91,8 +90,6 @@ public abstract class IsisContext implements DebuggableWithTitle {
 
     /**
      * Resets the singleton, so another can created.
-     * 
-     * @see #Isis()
      */
     public static void testReset() {
         singleton = null;
@@ -367,24 +364,6 @@ public abstract class IsisContext implements DebuggableWithTitle {
         return getSessionFactory().getAuthenticationManager();
     }
 
-    /**
-     * Convenience method.
-     * 
-     * @see IsisSessionFactory#getAuthorizationManager()
-     */
-    public static AuthorizationManager getAuthorizationManager() {
-        return getSessionFactory().getAuthorizationManager();
-    }
-
-    /**
-     * Convenience method.
-     * 
-     * @see IsisSessionFactory#getTemplateImageLoader()
-     */
-    public static TemplateImageLoader getTemplateImageLoader() {
-        return getSessionFactory().getTemplateImageLoader();
-    }
-
     public static UserProfileLoader getUserProfileLoader() {
         return getSessionFactory().getUserProfileLoader();
     }
@@ -531,7 +510,6 @@ public abstract class IsisContext implements DebuggableWithTitle {
         debugList.add("User profile loader", getUserProfileLoader());
 
         debugList.add("Reflector", getSpecificationLoader());
-        debugList.add("Template image loader", getTemplateImageLoader());
 
         debugList.add("Deployment type", getDeploymentType().getDebug());
         debugList.add("Configuration", getConfiguration());

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/internal/SplashWindow.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/internal/SplashWindow.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/internal/SplashWindow.java
deleted file mode 100644
index a05ebe0..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/internal/SplashWindow.java
+++ /dev/null
@@ -1,225 +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.system.internal;
-
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Image;
-import java.awt.Window;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.runtime.about.AboutIsis;
-import org.apache.isis.core.runtime.imageloader.TemplateImage;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-
-public class SplashWindow extends Window implements Runnable {
-    private static final long serialVersionUID = 1L;
-    final static Logger LOG = LoggerFactory.getLogger(SplashWindow.class);
-    private static final String LOGO_TEXT = "Apache Isis";
-
-    private int delay;
-    private final Font textFont;
-    private final int height;
-    private final int textLineHeight;
-    private final int titleLineHeight;
-    private final Image logo;
-    private final int PADDING = 9;
-    private final Frame parent;
-    private final int width;
-    private final Font titleFont;
-    private final int left;
-    private final Font logoFont;
-
-    public SplashWindow(final TemplateImageLoader loader) {
-        super(new Frame());
-        parent = (Frame) getParent();
-        final String imageName = AboutIsis.getImageName();
-        final TemplateImage templateImage = loader.getTemplateImage(imageName);
-        if (templateImage == null) {
-            throw new IsisException("Failed to find splash image " + imageName);
-        }
-        logo = templateImage.getImage();
-
-        textFont = new Font("SansSerif", Font.PLAIN, 10);
-        titleFont = new Font("SansSerif", Font.BOLD, 11);
-        logoFont = new Font("Serif", Font.PLAIN, 36);
-        textLineHeight = (int) (getFontMetrics(textFont).getHeight() * 0.85);
-        titleLineHeight = (int) (getFontMetrics(titleFont).getHeight() * 1.20);
-
-        int height = 0;
-        int width = 0;
-
-        if (logo != null) {
-            width = logo.getWidth(this);
-            height += logo.getHeight(this);
-        } else {
-            final FontMetrics metrics = getFontMetrics(logoFont);
-            width = metrics.stringWidth(LOGO_TEXT);
-            height = metrics.getHeight();
-        }
-        height += PADDING;
-
-        final Dimension text = textBounds();
-        width = Math.max(width, text.width);
-        height += text.height;
-
-        height = PADDING + height + PADDING;
-        width = PADDING + width + PADDING;
-        setSize(width, height);
-
-        this.height = height;
-        this.width = width;
-        this.left = width / 2 - text.width / 2;
-
-        setupCenterLocation();
-
-        setVisible(true);
-        // toFront();
-    }
-
-    private void setupCenterLocation() {
-        final Dimension screen = getToolkit().getScreenSize();
-        int x = (screen.width / 2) - (this.width / 2);
-        if ((screen.width / screen.height) >= 2) {
-            final int f = screen.width / screen.height * 2;
-            x = (screen.width / f) - (this.width / 2);
-        }
-        final int y = (screen.height / 2) - (this.width / 2) - 120;
-        setLocation(x, y);
-        setBackground(Color.white);
-    }
-
-    private Dimension textBounds() {
-        final FontMetrics textMetrics = getFontMetrics(textFont);
-        final FontMetrics titleMetrics = getFontMetrics(titleFont);
-        int width = 0;
-        int height = 0;
-
-        // framework details
-        width = titleMetrics.stringWidth(AboutIsis.getFrameworkName());
-        height += titleLineHeight;
-        width = Math.max(width, textMetrics.stringWidth(AboutIsis.getFrameworkCopyrightNotice()));
-        height += textLineHeight;
-        width = Math.max(width, textMetrics.stringWidth(frameworkVersion()));
-        height += textLineHeight;
-
-        // application details
-        String text = AboutIsis.getApplicationName();
-        if (text != null) {
-            width = Math.max(width, titleMetrics.stringWidth(text));
-            height += titleLineHeight;
-        }
-        text = AboutIsis.getApplicationCopyrightNotice();
-        if (text != null) {
-            width = Math.max(width, textMetrics.stringWidth(text));
-            height += textLineHeight;
-        }
-        text = AboutIsis.getApplicationVersion();
-        if (text != null) {
-            width = Math.max(width, textMetrics.stringWidth(text));
-            height += textLineHeight;
-        }
-
-        return new Dimension(width, height);
-    }
-
-    @Override
-    public void paint(final Graphics g) {
-        g.setColor(Color.black);
-        g.drawRect(0, 0, width - 1, height - 1);
-
-        if (logo != null) {
-            g.drawImage(logo, PADDING, PADDING, this);
-            // g.drawRect(PADDING, PADDING, logo.getWidth(this) - 1,
-            // logo.getHeight(this) - 1);
-        } else {
-            g.setFont(logoFont);
-            final FontMetrics fm = g.getFontMetrics();
-            g.drawString(LOGO_TEXT, PADDING, PADDING + fm.getAscent());
-        }
-
-        int baseline = height - PADDING - getFontMetrics(textFont).getDescent();
-
-        // framework details - from bottom to top
-        g.setFont(textFont);
-        g.drawString(frameworkVersion(), left, baseline);
-        baseline -= textLineHeight;
-        g.drawString(AboutIsis.getFrameworkCopyrightNotice(), left, baseline);
-        baseline -= textLineHeight;
-        g.setFont(titleFont);
-        g.drawString(AboutIsis.getFrameworkName(), left, baseline);
-        baseline -= titleLineHeight;
-
-        // application details - from bottom to top
-        g.setFont(textFont);
-        final String applicationVersion = AboutIsis.getApplicationVersion();
-        if (applicationVersion != null) {
-            g.drawString(applicationVersion, left, baseline);
-            baseline -= textLineHeight;
-        }
-        final String applicationCopyrightNotice = AboutIsis.getApplicationCopyrightNotice();
-        if (applicationCopyrightNotice != null) {
-            g.drawString(applicationCopyrightNotice, left, baseline);
-            baseline -= textLineHeight;
-        }
-        final String applicationName = AboutIsis.getApplicationName();
-        if (applicationName != null) {
-            g.setFont(titleFont);
-            g.drawString(applicationName, left, baseline);
-        }
-    }
-
-    private String frameworkVersion() {
-        return AboutIsis.getFrameworkVersion();
-    }
-
-    /**
-     * leaves the screen up for the specified period (in seconds) and then
-     * removes it.
-     */
-    public void removeAfterDelay(final int seconds) {
-        this.delay = seconds * 1000;
-        new Thread(this).start();
-    }
-
-    public void removeImmediately() {
-        hide();
-        dispose();
-        parent.dispose();
-    }
-
-    @Override
-    public void run() {
-        try {
-            Thread.sleep(delay);
-        } catch (final InterruptedException e) {
-        }
-
-        removeImmediately();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
index fed9302..19b00f9 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
@@ -20,24 +20,21 @@
 package org.apache.isis.core.runtime.system.session;
 
 import com.google.common.eventbus.EventBus;
-
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.components.SessionScopedComponent;
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.system.IsisSystem;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
 import org.apache.isis.core.runtime.userprofile.UserProfile;
 
 /**
- * Analogous to a Hibernate <tt>Session</tt>, holds the current set of
- * components for a specific execution context (such as on a thread).
+ * Analogous to (and in essence a wrapper for) a JDO <code>PersistenceManager</code>;
+ * holds the current set of components for a specific execution context (such as on a thread).
  * 
  * <p>
- * The <tt>IsisContext</tt> class (in <tt>nof-core</tt>) is responsible for
- * locating the current execution context.
+ * The <code>IsisContext</code> class is responsible for locating the current execution context.
  * 
  * @see IsisSessionFactory
  */
@@ -48,12 +45,7 @@ public interface IsisSession extends SessionScopedComponent {
     // //////////////////////////////////////////////////////
 
     /**
-     * The creating {@link IsisSessionFactory factory}.
-     * 
-     * <p>
-     * Note that from the factory we can
-     * {@link IsisSessionFactory#getIsisSystem() get to} the {@link IsisSystem},
-     * and thus other {@link ApplicationScopedComponent}s.
+     * The {@link IsisSessionFactory factory} that created this session.
      */
     public IsisSessionFactory getSessionFactory();
 

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
index c49bc93..0a15be7 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
@@ -37,7 +37,6 @@ import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 import org.apache.isis.core.commons.exceptions.IsisApplicationException;
 import org.apache.isis.core.commons.util.ToString;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
@@ -64,7 +63,7 @@ public class IsisSessionDefault implements IsisSession {
     private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM HH:mm:ss,SSS");
     private static int nextId = 1;
 
-    private final IsisSessionFactory executionContextFactory;
+    private final IsisSessionFactory isisSessionFactory;
 
     private final AuthenticationSession authenticationSession;
     private PersistenceSession persistenceSession; // only non-final so can be
@@ -87,7 +86,7 @@ public class IsisSessionDefault implements IsisSession {
         ensureThatArg(persistenceSession, is(not(nullValue())), "persistence session is required");
         ensureThatArg(userProfile, is(not(nullValue())), "user profile is required");
 
-        this.executionContextFactory = sessionFactory;
+        this.isisSessionFactory = sessionFactory;
 
         this.authenticationSession = authenticationSession;
         this.persistenceSession = persistenceSession;
@@ -166,35 +165,28 @@ public class IsisSessionDefault implements IsisSession {
 
     @Override
     public IsisSessionFactory getSessionFactory() {
-        return executionContextFactory;
+        return isisSessionFactory;
     }
 
     /**
      * Convenience method.
      */
     public DeploymentType getDeploymentType() {
-        return executionContextFactory.getDeploymentType();
+        return isisSessionFactory.getDeploymentType();
     }
 
     /**
      * Convenience method.
      */
     public IsisConfiguration getConfiguration() {
-        return executionContextFactory.getConfiguration();
+        return isisSessionFactory.getConfiguration();
     }
 
     /**
      * Convenience method.
      */
     public SpecificationLoaderSpi getSpecificationLoader() {
-        return executionContextFactory.getSpecificationLoader();
-    }
-
-    /**
-     * Convenience method.
-     */
-    public TemplateImageLoader getTemplateImageLoader() {
-        return executionContextFactory.getTemplateImageLoader();
+        return isisSessionFactory.getSpecificationLoader();
     }
 
     // //////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
index 3df53ac..6627fcb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
@@ -30,14 +30,13 @@ import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
 
 /**
- * Analogous to a Hibernate <tt>SessionFactory</tt>.
+ * Analogous (and in essence a wrapper for) a JDO <code>PersistenceManagerFactory</code>
  * 
  * @see IsisSession
  */
@@ -67,12 +66,6 @@ public interface IsisSessionFactory extends ApplicationScopedComponent {
     public SpecificationLoaderSpi getSpecificationLoader();
 
     /**
-     * The {@link ApplicationScopedComponent application-scoped}
-     * {@link TemplateImageLoader}.
-     */
-    public TemplateImageLoader getTemplateImageLoader();
-
-    /**
      * The {@link AuthenticationManager} that will be used to authenticate and
      * create {@link AuthenticationSession}s
      * {@link IsisSession#getAuthenticationSession() within} the


[11/12] ISIS-802: removing UserProfileStore, Perspective, Options. Localization reverted to using the server default (since was only ever populated in Scimpi, and there are other JIRA issues already raised to implement client-side i18n).

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUserProfileStore.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUserProfileStore.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUserProfileStore.java
deleted file mode 100644
index 9c0fa8a..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUserProfileStore.java
+++ /dev/null
@@ -1,70 +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 static org.apache.isis.core.runtime.runner.Constants.USER_PROFILE_STORE_LONG_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.USER_PROFILE_STORE_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.runtime.installerregistry.InstallerRepository;
-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.SystemConstants;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
-
-public class OptionHandlerUserProfileStore extends OptionHandlerAbstract {
-
-    private final InstallerRepository installerRepository;
-    private String userProfileStoreName;
-
-    public OptionHandlerUserProfileStore(final InstallerRepository installerRepository) {
-        this.installerRepository = installerRepository;
-    }
-
-    @Override
-    @SuppressWarnings("static-access")
-    public void addOption(final Options options) {
-        final Object[] persistenceMechanisms = installerRepository.getInstallers(UserProfileStoreInstaller.class);
-        final Option option = OptionBuilder.withArgName("name|class name").hasArg().withLongOpt(USER_PROFILE_STORE_LONG_OPT).withDescription("user profile store to use: " + availableInstallers(persistenceMechanisms) + "; or class name").create(USER_PROFILE_STORE_OPT);
-        options.addOption(option);
-    }
-
-    @Override
-    public boolean handle(final CommandLine commandLine, final BootPrinter bootPrinter, final Options options) {
-        userProfileStoreName = commandLine.getOptionValue(Constants.USER_PROFILE_STORE_OPT);
-        return true;
-    }
-
-    @Override
-    public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
-        isisConfigurationBuilder.add(SystemConstants.PROFILE_PERSISTOR_INSTALLER_KEY, userProfileStoreName);
-    }
-
-    public String getUserProfileStoreName() {
-        return userProfileStoreName;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
index b9c849c..2f6be7b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFixturesHookAbstract.java
@@ -51,7 +51,6 @@ import org.apache.isis.core.runtime.system.session.IsisSession;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
 import org.apache.isis.core.runtime.system.transaction.IsisTransactionManagerException;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
 
 /**
  * An implementation of {@link IsisSystem} that has a hook for installing
@@ -285,9 +284,9 @@ public abstract class IsisSystemFixturesHookAbstract implements IsisSystem {
      * The {@link LogonFixture}, if any, obtained by running fixtures.
      * 
      * <p>
-     * Intended to be used when for {@link DeploymentType#EXPLORATION
+     * Intended to be used when for {@link DeploymentType#SERVER_EXPLORATION
      * exploration} (instead of an {@link ExplorationSession}) or
-     * {@link DeploymentType#PROTOTYPE prototype} deployments (saves logging
+     * {@link DeploymentType#SERVER_PROTOTYPE prototype} deployments (saves logging
      * in). Should be <i>ignored</i> in other {@link DeploymentType}s.
      * 
      * <p>
@@ -316,12 +315,6 @@ public abstract class IsisSystemFixturesHookAbstract implements IsisSystem {
     protected abstract AuthorizationManager obtainAuthorizationManager(final DeploymentType deploymentType);
 
     // ///////////////////////////////////////////
-    // UserProfileLoader
-    // ///////////////////////////////////////////
-
-    protected abstract UserProfileStore obtainUserProfileStore();
-
-    // ///////////////////////////////////////////
     // Container & Services
     // ///////////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
index 49803aa..62a2bee 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
@@ -31,8 +31,6 @@ import org.apache.isis.core.runtime.fixtures.FixturesInstaller;
 import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
 import org.apache.isis.core.runtime.services.ServicesInstaller;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
 
 public final class SystemConstants {
 
@@ -73,20 +71,6 @@ public final class SystemConstants {
     // TODO: move to being a responsibility of DeploymentType instead
     public static final String OBJECT_PERSISTOR_PRODUCTION_DEFAULT = "datanucleus";
 
-    /**
-     * Key used to lookup {@link UserProfileStore user profile store} (via
-     * command line) in {@link IsisConfiguration}, and root for any
-     * {@link UserProfileStoreInstaller user profile store} -specific
-     * configuration keys.
-     */
-    public final static String PROFILE_PERSISTOR_INSTALLER_KEY = ConfigurationConstants.ROOT + UserProfileStoreInstaller.TYPE;
-
-    // TODO: inline
-    public static final String USER_PROFILE_STORE_KEY = PROFILE_PERSISTOR_INSTALLER_KEY;
-    // TODO: move to being a responsibility of DeploymentType instead
-    public static final String USER_PROFILE_STORE_NON_PRODUCTION_DEFAULT = "in-memory";
-    // TODO: move to being a responsibility of DeploymentType instead
-    public static final String USER_PROFILE_STORE_PRODUCTION_DEFAULT = "in-memory";
 
     /**
      * Key used to lookup {@link AuthenticationManager authentication manager}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
index adbc41f..2b139a4 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
@@ -20,10 +20,8 @@
 package org.apache.isis.core.runtime.system.context;
 
 import java.util.List;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.apache.isis.applib.profiles.Localization;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.components.TransactionScopedComponent;
@@ -33,10 +31,10 @@ import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.commons.debug.DebugList;
 import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 import org.apache.isis.core.commons.exceptions.IsisException;
+import org.apache.isis.core.metamodel.adapter.LocalizationDefault;
 import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.session.IsisSession;
@@ -45,8 +43,6 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
 import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
 import org.apache.isis.core.runtime.system.transaction.MessageBroker;
 import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
 
 /**
  * Provides singleton <i>access to</i> the current (session scoped)
@@ -364,10 +360,6 @@ public abstract class IsisContext implements DebuggableWithTitle {
         return getSessionFactory().getAuthenticationManager();
     }
 
-    public static UserProfileLoader getUserProfileLoader() {
-        return getSessionFactory().getUserProfileLoader();
-    }
-
     public static List<Object> getServices() {
         return getSessionFactory().getServices();
     }
@@ -430,21 +422,9 @@ public abstract class IsisContext implements DebuggableWithTitle {
 
     /**
      * Convenience method.
-     * 
-     * @see IsisSession#getUserProfile()
-     */
-    public static UserProfile getUserProfile() {
-        return getSession().getUserProfile();
-    }
-
-    /**
-     * Convenience method.
-     * 
-     * @see IsisSession#getUserProfile()
-     * @see UserProfile#getLocalization()
      */
     public static Localization getLocalization() {
-        return getUserProfile().getLocalization();
+        return new LocalizationDefault();
     }
 
     /**
@@ -507,7 +487,6 @@ public abstract class IsisContext implements DebuggableWithTitle {
         debugList.add("  Authentication manager", getSessionFactory().getAuthenticationManager());
         debugList.add("  Authorization manager", getSessionFactory().getAuthorizationManager());
         debugList.add("  Persistence session factory", getSessionFactory().getPersistenceSessionFactory());
-        debugList.add("User profile loader", getUserProfileLoader());
 
         debugList.add("Reflector", getSpecificationLoader());
 
@@ -522,7 +501,6 @@ public abstract class IsisContext implements DebuggableWithTitle {
         final DebugList debugList = new DebugList("Apache Isis Session");
         debugList.add("Apache Isis session", getSession());
         debugList.add("Authentication session", getAuthenticationSession());
-        debugList.add("User profile", getUserProfile());
 
         debugList.add("Persistence Session", getPersistenceSession());
         debugList.add("Transaction Manager", getTransactionManager());

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
index e104454..539b393 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
@@ -20,10 +20,7 @@
 package org.apache.isis.core.runtime.system.persistence;
 
 import java.util.List;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.components.SessionScopedComponent;
-import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
@@ -49,9 +46,8 @@ public interface ObjectStore extends DebuggableWithTitle, SessionScopedComponent
      * up objects.
      * 
      * <p>
-     * This method is called only once after the {@link #openSession(TestProxyReflector, IsisConfiguration, TestProxyPersistenceSessionFactory, TestProxyPersistenceSession, TestUserProfileStore, AuthenticationSession)} has been
-     * called. If it returns <code>false</code> then the framework will run the
-     * fixtures to initialise the object store.
+     * This method is called only once after the session is opened called. If it returns <code>false</code> then the
+     * framework will run the fixtures to initialise the object store.
      */
     boolean isFixturesInstalled();
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
index 19b00f9..a06be35 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSession.java
@@ -24,10 +24,8 @@ import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.components.SessionScopedComponent;
 import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
 
 /**
  * Analogous to (and in essence a wrapper for) a JDO <code>PersistenceManager</code>;
@@ -94,16 +92,6 @@ public interface IsisSession extends SessionScopedComponent {
      */
     public PersistenceSession getPersistenceSession();
 
-    // //////////////////////////////////////////////////////
-    // Perspective
-    // //////////////////////////////////////////////////////
-
-    /**
-     * Returns the {@link ObjectAdapter adapted} <tt>Perspective</tt> for the
-     * user who is using this {@link IsisSession} .
-     */
-
-    public UserProfile getUserProfile();
 
     
     // //////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
index 0a15be7..aaa6583 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionDefault.java
@@ -41,7 +41,6 @@ import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
 import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
 
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
 import static org.hamcrest.CoreMatchers.*;
@@ -68,15 +67,16 @@ public class IsisSessionDefault implements IsisSession {
     private final AuthenticationSession authenticationSession;
     private PersistenceSession persistenceSession; // only non-final so can be
                                                    // replaced in tests.
-    private final UserProfile userProfile;
-
     private final int id;
     private long accessTime;
     private String debugSnapshot;
 
     private EventBus eventBus;
 
-    public IsisSessionDefault(final IsisSessionFactory sessionFactory, final AuthenticationSession authenticationSession, final PersistenceSession persistenceSession, final UserProfile userProfile) {
+    public IsisSessionDefault(
+            final IsisSessionFactory sessionFactory,
+            final AuthenticationSession authenticationSession,
+            final PersistenceSession persistenceSession) {
 
         // global context
         ensureThatArg(sessionFactory, is(not(nullValue())), "execution context factory is required");
@@ -84,13 +84,11 @@ public class IsisSessionDefault implements IsisSession {
         // session
         ensureThatArg(authenticationSession, is(not(nullValue())), "authentication session is required");
         ensureThatArg(persistenceSession, is(not(nullValue())), "persistence session is required");
-        ensureThatArg(userProfile, is(not(nullValue())), "user profile is required");
 
         this.isisSessionFactory = sessionFactory;
 
         this.authenticationSession = authenticationSession;
         this.persistenceSession = persistenceSession;
-        this.userProfile = userProfile;
 
         setSessionOpenTime(System.currentTimeMillis());
 
@@ -227,14 +225,6 @@ public class IsisSessionDefault implements IsisSession {
         return persistenceSession;
     }
 
-    // //////////////////////////////////////////////////////
-    // Perspective
-    // //////////////////////////////////////////////////////
-
-    @Override
-    public UserProfile getUserProfile() {
-        return userProfile;
-    }
 
     // //////////////////////////////////////////////////////
     // Session Open Time

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
index 6627fcb..696b2d6 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactory.java
@@ -33,7 +33,6 @@ import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
 
 /**
  * Analogous (and in essence a wrapper for) a JDO <code>PersistenceManagerFactory</code>
@@ -86,8 +85,6 @@ public interface IsisSessionFactory extends ApplicationScopedComponent {
      */
     public PersistenceSessionFactory getPersistenceSessionFactory();
 
-    public UserProfileLoader getUserProfileLoader();
-
     public DomainObjectContainer getContainer();
     public List<Object> getServices();
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
index 9f833c0..393c00f 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
@@ -44,8 +44,6 @@ import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
 
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
 import static org.hamcrest.CoreMatchers.*;
@@ -74,7 +72,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
     private final AuthenticationManager authenticationManager;
     private final AuthorizationManager authorizationManager;
     private final PersistenceSessionFactory persistenceSessionFactory;
-    private final UserProfileLoader userProfileLoader;
     private final DomainObjectContainer container;
     private final List<Object> serviceList;
     private final OidMarshaller oidMarshaller;
@@ -85,7 +82,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
             final SpecificationLoaderSpi specificationLoader,
             final AuthenticationManager authenticationManager,
             final AuthorizationManager authorizationManager,
-            final UserProfileLoader userProfileLoader,
             final PersistenceSessionFactory persistenceSessionFactory,
             final DomainObjectContainer container,
             final List<Object> serviceList,
@@ -96,7 +92,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
         ensureThatArg(specificationLoader, is(not(nullValue())));
         ensureThatArg(authenticationManager, is(not(nullValue())));
         ensureThatArg(authorizationManager, is(not(nullValue())));
-        ensureThatArg(userProfileLoader, is(not(nullValue())));
         ensureThatArg(persistenceSessionFactory, is(not(nullValue())));
         ensureThatArg(serviceList, is(not(nullValue())));
 
@@ -105,7 +100,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
         this.specificationLoaderSpi = specificationLoader;
         this.authenticationManager = authenticationManager;
         this.authorizationManager = authorizationManager;
-        this.userProfileLoader = userProfileLoader;
         this.persistenceSessionFactory = persistenceSessionFactory;
         this.container = container;
         this.serviceList = serviceList;
@@ -202,7 +196,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
         specificationLoaderSpi.injectInto(persistenceSessionFactory);
         persistenceSessionFactory.setContainer(container);
         persistenceSessionFactory.setServices(serviceList);
-        userProfileLoader.setServices(serviceList);
 
         authenticationManager.init();
         authorizationManager.init();
@@ -218,7 +211,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
         persistenceSessionFactory.shutdown();
         authenticationManager.shutdown();
         specificationLoaderSpi.shutdown();
-        userProfileLoader.shutdown();
     }
 
 
@@ -227,19 +219,18 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
         final PersistenceSession persistenceSession = persistenceSessionFactory.createPersistenceSession();
         ensureThatArg(persistenceSession, is(not(nullValue())));
 
-        final UserProfile userProfile = userProfileLoader.getProfile(authenticationSession);
-        ensureThatArg(userProfile, is(not(nullValue())));
-
         // inject into persistenceSession any/all application-scoped components
         // that it requires
         getSpecificationLoader().injectInto(persistenceSession);
 
-        final IsisSessionDefault isisSessionDefault = newIsisSessionDefault(authenticationSession, persistenceSession, userProfile);
+        final IsisSessionDefault isisSessionDefault = newIsisSessionDefault(authenticationSession, persistenceSession);
         return isisSessionDefault;
     }
 
-    protected IsisSessionDefault newIsisSessionDefault(AuthenticationSession authenticationSession, PersistenceSession persistenceSession, UserProfile userProfile) {
-        return new IsisSessionDefault(this, authenticationSession, persistenceSession, userProfile);
+    protected IsisSessionDefault newIsisSessionDefault(
+            final AuthenticationSession authenticationSession,
+            final PersistenceSession persistenceSession) {
+        return new IsisSessionDefault(this, authenticationSession, persistenceSession);
     }
 
     @Override
@@ -272,11 +263,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
         return persistenceSessionFactory;
     }
 
-    @Override
-    public UserProfileLoader getUserProfileLoader() {
-        return userProfileLoader;
-    }
-
     public DomainObjectContainer getContainer() {
         return container;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
index 42dabb9..8217133 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
@@ -52,8 +52,6 @@ import org.apache.isis.core.runtime.system.internal.IsisTimeZoneInitializer;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoaderDefault;
 
 /**
  * 
@@ -132,9 +130,9 @@ public abstract class IsisSystemAbstract extends IsisSystemFixturesHookAbstract
      * The {@link LogonFixture}, if any, obtained by running fixtures.
      * 
      * <p>
-     * Intended to be used when for {@link DeploymentType#EXPLORATION
+     * Intended to be used when for {@link DeploymentType#SERVER_EXPLORATION
      * exploration} (instead of an {@link ExplorationSession}) or
-     * {@link DeploymentType#PROTOTYPE prototype} deployments (saves logging
+     * {@link DeploymentType#SERVER_PROTOTYPE prototype} deployments (saves logging
      * in). Should be <i>ignored</i> in other {@link DeploymentType}s.
      */
     @Override
@@ -156,8 +154,7 @@ public abstract class IsisSystemAbstract extends IsisSystemFixturesHookAbstract
     @Override
     public IsisSessionFactory doCreateSessionFactory(final DeploymentType deploymentType) throws IsisSystemException {
         final PersistenceSessionFactory persistenceSessionFactory = obtainPersistenceSessionFactory(deploymentType);
-        final UserProfileLoader userProfileLoader = new UserProfileLoaderDefault(obtainUserProfileStore());
-        return createSessionFactory(deploymentType, userProfileLoader, persistenceSessionFactory);
+        return createSessionFactory(deploymentType, persistenceSessionFactory);
     }
 
     /**
@@ -169,7 +166,9 @@ public abstract class IsisSystemAbstract extends IsisSystemFixturesHookAbstract
      * <i>from</i> the {@link #doCreateSessionFactory(DeploymentType) hook
      * method}.
      */
-    protected final IsisSessionFactory createSessionFactory(final DeploymentType deploymentType, final UserProfileLoader userProfileLoader, final PersistenceSessionFactory persistenceSessionFactory) throws IsisSystemException {
+    protected final IsisSessionFactory createSessionFactory(
+            final DeploymentType deploymentType,
+            final PersistenceSessionFactory persistenceSessionFactory) throws IsisSystemException {
 
         final IsisConfiguration configuration = getConfiguration();
         final AuthenticationManager authenticationManager = obtainAuthenticationManager(deploymentType);
@@ -187,7 +186,7 @@ public abstract class IsisSystemAbstract extends IsisSystemFixturesHookAbstract
         runtimeContext.injectInto(reflector);
 
         return newIsisSessionFactory(
-                deploymentType, userProfileLoader,
+                deploymentType,
                 persistenceSessionFactory,
                 configuration,
                 authenticationManager, authorizationManager,
@@ -201,14 +200,14 @@ public abstract class IsisSystemAbstract extends IsisSystemFixturesHookAbstract
     }
 
     protected IsisSessionFactoryDefault newIsisSessionFactory(
-            final DeploymentType deploymentType, final UserProfileLoader userProfileLoader,
+            final DeploymentType deploymentType,
             final PersistenceSessionFactory persistenceSessionFactory,
             final IsisConfiguration configuration,
             final AuthenticationManager authenticationManager, final AuthorizationManager authorizationManager,
             final OidMarshaller oidMarshaller,
             final SpecificationLoaderSpi reflector,
             final DomainObjectContainer container, final List<Object> services) {
-        return new IsisSessionFactoryDefault(deploymentType, configuration, reflector, authenticationManager, authorizationManager, userProfileLoader, persistenceSessionFactory, container, services, oidMarshaller);
+        return new IsisSessionFactoryDefault(deploymentType, configuration, reflector, authenticationManager, authorizationManager, persistenceSessionFactory, container, services, oidMarshaller);
     }
 
     private static Collection<MetaModelRefiner> refiners(Object... possibleRefiners ) {

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemThatUsesInstallersFactory.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemThatUsesInstallersFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemThatUsesInstallersFactory.java
index 206382b..19de635 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemThatUsesInstallersFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemThatUsesInstallersFactory.java
@@ -68,7 +68,6 @@ public class IsisSystemThatUsesInstallersFactory implements IsisSystemFactory {
         final IsisSystemUsingInstallers system = new IsisSystemUsingInstallers(deploymentType, installerLookup);
 
         system.lookupAndSetAuthenticatorAndAuthorization(deploymentType);
-        system.lookupAndSetUserProfileFactoryInstaller();
         system.lookupAndSetFixturesInstaller();
         return system;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
index 6fae368..0e800cc 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
@@ -42,8 +42,6 @@ import org.apache.isis.core.runtime.system.SystemConstants;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjector;
 import org.apache.isis.core.runtime.transaction.facetdecorator.standard.TransactionFacetDecoratorInstaller;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
 
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState;
@@ -59,7 +57,6 @@ public class IsisSystemUsingInstallers extends IsisSystemAbstract {
     private AuthorizationManagerInstaller authorizationInstaller;
     private ObjectReflectorInstaller reflectorInstaller;
     private ServicesInstaller servicesInstaller;
-    private UserProfileStoreInstaller userProfileStoreInstaller;
     private PersistenceMechanismInstaller persistenceMechanismInstaller;
     private FixturesInstaller fixtureInstaller;
 
@@ -211,29 +208,6 @@ public class IsisSystemUsingInstallers extends IsisSystemAbstract {
     }
 
 
-// ///////////////////////////////////////////
-    // User Profile Loader/Store
-    // ///////////////////////////////////////////
-
-    public void lookupAndSetUserProfileFactoryInstaller() {
-        final IsisConfiguration configuration = getConfiguration();
-        final String persistor = configuration.getString(SystemConstants.PROFILE_PERSISTOR_INSTALLER_KEY);
-
-        final UserProfileStoreInstaller userProfilePersistenceMechanismInstaller = installerLookup.userProfilePersistenceMechanismInstaller(persistor, getDeploymentType());
-        if (userProfilePersistenceMechanismInstaller != null) {
-            setUserProfileStoreInstaller(userProfilePersistenceMechanismInstaller);
-        }
-    }
-
-    public void setUserProfileStoreInstaller(final UserProfileStoreInstaller userProfilestoreInstaller) {
-        this.userProfileStoreInstaller = userProfilestoreInstaller;
-    }
-
-    @Override
-    protected UserProfileStore obtainUserProfileStore() {
-        return userProfileStoreInstaller.createUserProfileStore(getConfiguration());
-    }
-
     // ///////////////////////////////////////////
     // PersistenceSessionFactory
     // ///////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoaderDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoaderDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoaderDefault.java
deleted file mode 100644
index 5c802b0..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoaderDefault.java
+++ /dev/null
@@ -1,257 +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.userprofile;
-
-import java.util.List;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.services.RequestScopedService;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.runtime.system.session.IsisSession;
-
-/**
- * Acts like a bridge, loading the profile from the underlying store.
- */
-public class UserProfileLoaderDefault implements UserProfileLoader, DebuggableWithTitle {
-
-    private static final String DEFAULT_PERSPECTIVE_NAME = "Apache Isis";
-    private static final String EXPLORATION = " Exploration";
-
-    private final Logger LOG = LoggerFactory.getLogger(UserProfile.class);
-
-    public static enum Mode {
-        /**
-         * Must provide some services.
-         */
-        STRICT,
-        /**
-         * For testing only, no services is okay.
-         */
-        RELAXED
-    }
-
-    private final UserProfileStore store;
-    private final Mode mode;
-
-    private UserProfile userProfile;
-
-    private List<Object> serviceList;
-
-    // //////////////////////////////////////////////////////
-    // Constructor
-    // //////////////////////////////////////////////////////
-
-    public UserProfileLoaderDefault(final UserProfileStore store) {
-        this(store, Mode.STRICT);
-    }
-
-    /**
-     * for testing purposes, explicitly specify the Mode.
-     */
-    public UserProfileLoaderDefault(final UserProfileStore store, final Mode mode) {
-        this.store = store;
-        this.mode = mode;
-    }
-
-    // //////////////////////////////////////////////////////
-    // init, shutdown
-    // //////////////////////////////////////////////////////
-
-    /**
-     * Does nothing.
-     */
-    @Override
-    public void init() {
-    }
-
-    /**
-     * Does nothing.
-     */
-    @Override
-    public void shutdown() {
-    }
-
-    // //////////////////////////////////////////////////////
-    // Fixtures
-    // //////////////////////////////////////////////////////
-
-    /**
-     * @see PersistenceSession#isFixturesInstalled()
-     */
-    @Override
-    public boolean isFixturesInstalled() {
-        return store.isFixturesInstalled();
-    }
-
-    // //////////////////////////////////////////////////////
-    // saveAs...
-    // //////////////////////////////////////////////////////
-
-    @Override
-    public void saveAsDefault(final UserProfile userProfile) {
-        store.save("_default", userProfile);
-    }
-
-    @Override
-    public void saveForUser(final String userName, final UserProfile userProfile) {
-        store.save(userName, userProfile);
-    }
-
-    // //////////////////////////////////////////////////////
-    // saveSession
-    // //////////////////////////////////////////////////////
-
-    @Override
-    public void saveSession(final List<ObjectAdapter> objects) {
-        loadOrCreateProfile();
-        userProfile.saveObjects(objects);
-        save(userProfile);
-    }
-
-    private void save(final UserProfile userProfile) {
-        saveForUser(userName(), userProfile);
-    }
-
-    // //////////////////////////////////////////////////////
-    // getProfile
-    // //////////////////////////////////////////////////////
-
-    @Override
-    public UserProfile getProfile(final AuthenticationSession session) {
-        final String userName = session.getUserName();
-        final UserProfile profile = store.getUserProfile(userName);
-        userProfile = profile != null ? profile : createUserProfile(userName);
-        return userProfile;
-    }
-
-    @Override
-    @Deprecated
-    public UserProfile getProfile() {
-        loadOrCreateProfile();
-        return userProfile;
-    }
-
-    // //////////////////////////////////////////////////////
-    // Helpers: (for getProfile)
-    // //////////////////////////////////////////////////////
-
-    private void loadOrCreateProfile() {
-        if (userProfile == null) {
-            final String userName = userName();
-            final UserProfile profile = store.getUserProfile(userName);
-            userProfile = profile != null ? profile : createUserProfile(userName);
-        }
-    }
-
-    private UserProfile createUserProfile(final String userName) {
-        final UserProfile template = store.getUserProfile("_default");
-        if (template == null) {
-            return createDefaultProfile(userName);
-        } else {
-            return createProfileFromTemplate(userName, template);
-        }
-    }
-
-    private UserProfile createDefaultProfile(final String userName) {
-        final UserProfile profile = new UserProfile();
-        profile.newPerspective(DEFAULT_PERSPECTIVE_NAME + (IsisContext.getDeploymentType().isExploring() ? EXPLORATION : ""));
-
-        final List<Object> singletonServices = Lists.newArrayList(Iterables.filter(
-                        getServices(), 
-                        Predicates.not(RequestScopedService.Predicates.instanceOf())));
-        if (singletonServices.size() == 0 && mode == Mode.STRICT) {
-            throw new IsisException("No known (singleton) services");
-        }
-        for (final Object service : singletonServices) {
-            profile.getPerspective().addToServices(service);
-        }
-        LOG.debug("creating exploration UserProfile for " + userName);
-        return profile;
-    }
-
-    private UserProfile createProfileFromTemplate(final String userName, final UserProfile template) {
-        final UserProfile userProfile = new UserProfile();
-        userProfile.copy(template);
-        LOG.info("creating UserProfile, from template, for " + userName);
-        return userProfile;
-    }
-
-    // //////////////////////////////////////////////////////
-    // Debugging
-    // //////////////////////////////////////////////////////
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        debug.appendln("Store", store.toString());
-        debug.appendln("Mode", mode);
-
-        debug.appendln("Store", store);
-        debug.appendln("User Profile", userProfile);
-    }
-
-    @Override
-    public String debugTitle() {
-        return "User Profile Service";
-    }
-
-    // //////////////////////////////////////////////////////
-    // Dependencies (injected via setters)
-    // //////////////////////////////////////////////////////
-
-    @Override
-    public List<Object> getServices() {
-        return serviceList;
-    }
-
-    @Override
-    public void setServices(final List<Object> serviceList) {
-        this.serviceList = serviceList;
-    }
-
-    // //////////////////////////////////////////////////////
-    // Dependencies (from context)
-    // //////////////////////////////////////////////////////
-
-    private static AuthenticationSession getAuthenticationSession() {
-        return getSession().getAuthenticationSession();
-    }
-
-    private static String userName() {
-        return getAuthenticationSession().getUserName();
-    }
-
-    private static IsisSession getSession() {
-        return IsisContext.getSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStoreInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStoreInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStoreInstaller.java
deleted file mode 100644
index f25b6f5..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStoreInstaller.java
+++ /dev/null
@@ -1,31 +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.userprofile;
-
-import org.apache.isis.core.commons.components.Installer;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-
-public interface UserProfileStoreInstaller extends Installer {
-
-    public static String TYPE = "user-profile-store";
-
-    UserProfileStore createUserProfileStore(final IsisConfiguration objectConfiguration);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfilesDebugUtil.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfilesDebugUtil.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfilesDebugUtil.java
deleted file mode 100644
index 94eb0eb..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfilesDebugUtil.java
+++ /dev/null
@@ -1,101 +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.userprofile;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.services.ServiceUtil;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-
-/**
- * Introduced in order to remove the dependency between {@link UserProfile} and
- * {@link PerspectiveEntry} on <tt>runtimes:dflt</tt>.
- */
-public final class UserProfilesDebugUtil {
-
-    public static DebuggableWithTitle asDebuggableWithTitle(final UserProfile userProfile) {
-        return new DebuggableWithTitle() {
-
-            @Override
-            public void debugData(final DebugBuilder debug) {
-                debug.appendTitle("Options");
-                debug.indent();
-                debug.append(userProfile.getOptions());
-                debug.unindent();
-
-                debug.appendTitle("Perspectives");
-                for (final PerspectiveEntry entry : userProfile.getEntries()) {
-                    asDebuggableWithTitle(entry).debugData(debug);
-                }
-            }
-
-            @Override
-            public String debugTitle() {
-                return toString();
-            }
-        };
-    }
-
-    public static DebuggableWithTitle asDebuggableWithTitle(final PerspectiveEntry perspectiveEntry) {
-        return new DebuggableWithTitle() {
-
-            @Override
-            public void debugData(final DebugBuilder debug) {
-                debug.appendln("Name", perspectiveEntry.getName());
-                debug.blankLine();
-                debug.appendTitle("Services (Ids)");
-                debug.indent();
-                for (final Object service : perspectiveEntry.getServices()) {
-                    debug.appendln(ServiceUtil.id(service));
-                }
-                debug.unindent();
-
-                debug.blankLine();
-                debug.appendTitle("Objects");
-                debug.indent();
-                final AdapterManager adapterManager = getAdapterManager();
-                for (final Object obj : perspectiveEntry.getObjects()) {
-                    debug.appendln(adapterManager.adapterFor(obj).toString());
-                }
-                debug.unindent();
-            }
-
-            @Override
-            public String debugTitle() {
-                return "Perspective";
-            }
-        };
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Dependencies (from Context)
-    // ///////////////////////////////////////////////////////
-
-    protected static AdapterManager getAdapterManager() {
-        return getPersistenceSession().getAdapterManager();
-    }
-
-    protected static PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties b/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
index 104f6d6..8a59b0a 100644
--- a/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
+++ b/core/runtime/src/main/resources/org/apache/isis/core/runtime/installer-registry.properties
@@ -62,9 +62,6 @@ org.apache.isis.core.runtime.services.ServicesInstallerFromConfigurationAndAnnot
 org.apache.isis.core.objectstore.InMemoryPersistenceMechanismInstaller         # "in-memory"
 org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller # datanucleus
 
-# profilestores
-org.apache.isis.core.profilestore.InMemoryUserProfileStoreInstaller # "in-memory"
-
 # reflector decorators
 org.apache.isis.core.runtime.transaction.facetdecorator.standard.TransactionFacetDecoratorInstaller  # "transaction"
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
index ebef359..cdbd45b 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
@@ -46,7 +46,6 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
@@ -67,8 +66,6 @@ public class IsisContextTest {
     @Mock
     protected PersistenceSessionFactory mockPersistenceSessionFactory;
     @Mock
-    private UserProfileLoader mockUserProfileLoader;
-    @Mock
     protected AuthenticationManager mockAuthenticationManager;
     @Mock
     protected AuthorizationManager mockAuthorizationManager;
@@ -104,7 +101,6 @@ public class IsisContextTest {
                 ignoring(mockPersistenceSession);
                 ignoring(mockSpecificationLoader);
                 ignoring(mockPersistenceSessionFactory);
-                ignoring(mockUserProfileLoader);
                 ignoring(mockAuthenticationManager);
                 ignoring(mockAuthorizationManager);
 
@@ -112,7 +108,7 @@ public class IsisContextTest {
             }
         });
 
-        sessionFactory = new IsisSessionFactoryDefault(DeploymentType.UNIT_TESTING, configuration, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockPersistenceSessionFactory, mockContainer, servicesList, oidMarshaller);
+        sessionFactory = new IsisSessionFactoryDefault(DeploymentType.UNIT_TESTING, configuration, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockPersistenceSessionFactory, mockContainer, servicesList, oidMarshaller);
         authSession = new SimpleSession("tester", Collections.<String>emptyList());
         
         IsisContext.setConfiguration(configuration);

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
index 9070933..c2d86a1 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
@@ -33,7 +33,6 @@ import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
@@ -59,8 +58,6 @@ public class IsisSessionFactoryAbstractTest_init_and_shutdown {
     @Mock
     private AuthorizationManager mockAuthorizationManager;
     @Mock
-    private UserProfileLoader mockUserProfileLoader;
-    @Mock
     private PersistenceSessionFactory mockPersistenceSessionFactory;
     @Mock
     private OidMarshaller mockOidMarshaller;
@@ -79,7 +76,7 @@ public class IsisSessionFactoryAbstractTest_init_and_shutdown {
         configuration.add("foo", "bar");
         
         serviceList = Lists.newArrayList();
-        context.ignoring(mockDeploymentType, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockContainer, mockPersistenceSessionFactory, mockOidMarshaller);
+        context.ignoring(mockDeploymentType, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockContainer, mockPersistenceSessionFactory, mockOidMarshaller);
     }
     
 
@@ -87,7 +84,7 @@ public class IsisSessionFactoryAbstractTest_init_and_shutdown {
     public void validate_DomainServicesWithDuplicateIds() {
         serviceList.add(new DomainServiceWithSomeId());
         serviceList.add(new DomainServiceWithDuplicateId());
-        isf = new IsisSessionFactoryDefault(mockDeploymentType, configuration, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockPersistenceSessionFactory, mockContainer, serviceList, mockOidMarshaller) {
+        isf = new IsisSessionFactoryDefault(mockDeploymentType, configuration, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockPersistenceSessionFactory, mockContainer, serviceList, mockOidMarshaller) {
         };
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/test/java/org/apache/isis/core/runtime/userprofile/OptionsTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/userprofile/OptionsTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/userprofile/OptionsTest.java
deleted file mode 100644
index 3b953e0..0000000
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/userprofile/OptionsTest.java
+++ /dev/null
@@ -1,115 +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.userprofile;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Iterator;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.debug.DebugString;
-
-public class OptionsTest {
-
-    private Options options;
-    private Options suboptions;
-
-    @Before
-    public void setup() throws Exception {
-        suboptions = new Options();
-        suboptions.addOption("name-3", "value-2");
-
-        options = new Options();
-        options.addOption("test", "value");
-        options.addOption("anInt", "23");
-        options.addOptions("suboptions", suboptions);
-    }
-
-    @Test
-    public void savedValueIsRetrieved() throws Exception {
-        assertEquals("value", options.getString("test"));
-    }
-
-    @Test
-    public void unknownNameIsNull() throws Exception {
-        assertNull(options.getString("unknown"));
-    }
-
-    @Test
-    public void intValue() throws Exception {
-        assertEquals(23, options.getInteger("anInt", 0));
-    }
-
-    @Test
-    public void intDefault() throws Exception {
-        assertEquals(10, options.getInteger("unknown", 10));
-    }
-
-    @Test
-    public void stringDefault() throws Exception {
-        assertEquals("def", options.getString("unknown", "def"));
-    }
-
-    @Test
-    public void debug() throws Exception {
-        final DebugString debug = new DebugString();
-        options.debugData(debug);
-        assertNotNull(debug.toString());
-    }
-
-    @Test
-    public void names() throws Exception {
-        final Iterator<String> names = options.names();
-        assertTrue(names.hasNext());
-    }
-
-    @Test
-    public void copy() throws Exception {
-        final Options copy = new Options();
-        copy.copy(options);
-        assertEquals("value", copy.getString("test"));
-    }
-
-    @Test
-    public void addOptions() throws Exception {
-        final Options suboptions = options.getOptions("suboptions");
-        assertEquals("value-2", suboptions.getString("name-3"));
-    }
-
-    @Test
-    public void emptyWhenOptionsWhenNotFound() throws Exception {
-        final Options suboptions = options.getOptions("unkown");
-        assertFalse(suboptions.names().hasNext());
-    }
-
-    @Test
-    public void newEmptyOptionsAdded() throws Exception {
-        final Options suboptions = options.getOptions("unknown");
-        suboptions.addOption("test", "value");
-        assertSame(suboptions, options.getOptions("unknown"));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/tck/tck-viewer-restfulobjects/pom.xml
----------------------------------------------------------------------
diff --git a/core/tck/tck-viewer-restfulobjects/pom.xml b/core/tck/tck-viewer-restfulobjects/pom.xml
index c0d0f65..8a5960a 100644
--- a/core/tck/tck-viewer-restfulobjects/pom.xml
+++ b/core/tck/tck-viewer-restfulobjects/pom.xml
@@ -92,10 +92,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-security</artifactId>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/tck/tck-viewer-restfulobjects/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/core/tck/tck-viewer-restfulobjects/src/main/webapp/WEB-INF/isis.properties b/core/tck/tck-viewer-restfulobjects/src/main/webapp/WEB-INF/isis.properties
index 4407ca7..e6bf541 100644
--- a/core/tck/tck-viewer-restfulobjects/src/main/webapp/WEB-INF/isis.properties
+++ b/core/tck/tck-viewer-restfulobjects/src/main/webapp/WEB-INF/isis.properties
@@ -18,7 +18,6 @@
 isis.authentication=bypass
 isis.authorization=bypass
 
-isis.user-profile-store=in-memory
 isis.persistor=in-memory
 
 isis.services-installer=configuration-and-annotation

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/example/application/simpleapp/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/pom.xml b/example/application/simpleapp/webapp/pom.xml
index f5cbbd3..8849ff4 100644
--- a/example/application/simpleapp/webapp/pom.xml
+++ b/example/application/simpleapp/webapp/pom.xml
@@ -190,10 +190,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-security</artifactId>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
index e49101a..d9bdc98 100644
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -66,11 +66,6 @@ isis.authentication=shiro
 isis.authorization=shiro
 
 
-#
-# configure the user profile store to use.
-# 
-isis.user-profile-store=in-memory
-
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/example/application/todoapp/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/todoapp/webapp/pom.xml b/example/application/todoapp/webapp/pom.xml
index dba37d0..8d53998 100644
--- a/example/application/todoapp/webapp/pom.xml
+++ b/example/application/todoapp/webapp/pom.xml
@@ -190,10 +190,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-security</artifactId>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
index c6269a3..179adab 100644
--- a/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -66,11 +66,6 @@ isis.authentication=shiro
 isis.authorization=shiro
 
 
-#
-# configure the user profile store to use.
-# 
-isis.user-profile-store=in-memory
-
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/mothballed/profilestore-inmemory/pom.xml
----------------------------------------------------------------------
diff --git a/mothballed/profilestore-inmemory/pom.xml b/mothballed/profilestore-inmemory/pom.xml
new file mode 100644
index 0000000..c152a57
--- /dev/null
+++ b/mothballed/profilestore-inmemory/pom.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.isis.core</groupId>
+		<artifactId>isis</artifactId>
+        <version>1.7.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>isis-core-profilestore</artifactId>
+	<name>Isis Core (In-memory) ProfileStore</name>
+
+	<properties>
+        <siteBaseDir>..</siteBaseDir>
+		<relativeUrl>profilestore-inmemory/</relativeUrl>
+	</properties>
+
+    <!-- used in Site generation for relative references. -->
+    <url>http://isis.apache.org/${relativeUrl}</url>
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+                <inherited>false</inherited>
+                <configuration>
+                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+                </configuration>
+                <reportSets>
+                    <reportSet>
+                        <inherited>false</inherited>
+                        <reports>
+                            <report>dependencies</report>
+                            <report>dependency-convergence</report>
+                            <report>plugins</report>
+                            <report>summary</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-unittestsupport</artifactId>
+            <scope>test</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-metamodel</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
+		<dependency>
+		    <groupId>org.apache.isis.core</groupId>
+		    <artifactId>isis-core-runtime</artifactId>
+		</dependency>
+		<dependency>
+		    <groupId>org.apache.isis.core</groupId>
+		    <artifactId>isis-core-runtime</artifactId>
+		    <type>test-jar</type>
+		    <scope>test</scope>
+		</dependency>
+	</dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java
----------------------------------------------------------------------
diff --git a/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java b/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java
new file mode 100644
index 0000000..477ef6c
--- /dev/null
+++ b/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java
@@ -0,0 +1,61 @@
+/*
+ *  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.profilestore;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.isis.core.commons.debug.DebugBuilder;
+import org.apache.isis.core.commons.debug.DebuggableWithTitle;
+import org.apache.isis.core.runtime.userprofile.UserProfile;
+import org.apache.isis.core.runtime.userprofile.UserProfileStore;
+
+public class InMemoryUserProfileStore implements UserProfileStore, DebuggableWithTitle {
+
+    private static final Map<String, UserProfile> profiles = new HashMap<String, UserProfile>();
+
+    @Override
+    public boolean isFixturesInstalled() {
+        return false;
+    }
+
+    @Override
+    public UserProfile getUserProfile(final String name) {
+        return profiles.get(name);
+    }
+
+    @Override
+    public void save(final String name, final UserProfile userProfile) {
+        profiles.put(name, userProfile);
+    }
+
+    @Override
+    public void debugData(final DebugBuilder debug) {
+        for (final String name : profiles.keySet()) {
+            debug.appendln(name, profiles.get(name));
+        }
+    }
+
+    @Override
+    public String debugTitle() {
+        return "InMemoryUserProfileStore";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.java
----------------------------------------------------------------------
diff --git a/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.java b/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.java
new file mode 100644
index 0000000..5dbba1c
--- /dev/null
+++ b/mothballed/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.java
@@ -0,0 +1,44 @@
+/*
+ *  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.profilestore;
+
+import java.util.List;
+
+import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.runtime.userprofile.UserProfileStore;
+import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
+
+public class InMemoryUserProfileStoreInstaller extends InstallerAbstract implements UserProfileStoreInstaller {
+
+    public InMemoryUserProfileStoreInstaller() {
+        super(UserProfileStoreInstaller.TYPE, "in-memory");
+    }
+
+    @Override
+    public UserProfileStore createUserProfileStore(final IsisConfiguration objectConfiguration) {
+        return new InMemoryUserProfileStore();
+    }
+
+    @Override
+    public List<Class<?>> getTypes() {
+        return listOf(UserProfileStore.class);
+    }
+}


[03/12] ISIS-913: removing IsisViewerInstaller and EmbeddedWebServerInstaller APIs (and implementations)

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/example/application/todoapp/webapp/coverage-error.log
----------------------------------------------------------------------
diff --git a/example/application/todoapp/webapp/coverage-error.log b/example/application/todoapp/webapp/coverage-error.log
new file mode 100644
index 0000000..2bda360
--- /dev/null
+++ b/example/application/todoapp/webapp/coverage-error.log
@@ -0,0 +1,585 @@
+[2014.10.03 17:53:28] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalDateMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:53:28] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalDateTimeMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:53:28] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalTimeMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:53:30] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.oracle.OracleClobRDBMSMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:279)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.loadDatastoreMapping(RDBMSMappingManager.java:175)
+	at org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter.initialiseTypes(BaseDatastoreAdapter.java:448)
+	at org.datanucleus.store.rdbms.adapter.HSQLAdapter.initialiseTypes(HSQLAdapter.java:133)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:312)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:53:30] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.oracle.OracleBlobRDBMSMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:279)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.loadDatastoreMapping(RDBMSMappingManager.java:175)
+	at org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter.initialiseTypes(BaseDatastoreAdapter.java:448)
+	at org.datanucleus.store.rdbms.adapter.HSQLAdapter.initialiseTypes(HSQLAdapter.java:133)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:312)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)


[02/12] git commit: ISIS-872: fix to launch files for SimpleApp.

Posted by da...@apache.org.
ISIS-872: fix to launch files for SimpleApp.


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

Branch: refs/heads/master
Commit: a5de745f71951ddd9775e843669f143b7958f7f8
Parents: 8ea77f1
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Oct 3 17:46:28 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Oct 3 17:46:28 2014 +0100

----------------------------------------------------------------------
 .../simpleapp/webapp/ide/intellij/launch/SimpleApp_PROTOTYPE.xml    | 1 -
 .../webapp/ide/intellij/launch/SimpleApp__enhance_only_.xml         | 1 -
 2 files changed, 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a5de745f/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp_PROTOTYPE.xml
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp_PROTOTYPE.xml b/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp_PROTOTYPE.xml
index 4d77092..a226ce6 100644
--- a/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp_PROTOTYPE.xml
+++ b/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp_PROTOTYPE.xml
@@ -22,7 +22,6 @@
     <ConfigurationWrapper RunnerId="Run" />
     <method>
       <option name="Make" enabled="false" />
-      <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/core/pom.xml" goal="-f pom-jdo-enhance-all.xml datanucleus:enhance -o" />
       <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/example/application/simpleapp/dom/pom.xml" goal="datanucleus:enhance -o" />
     </method>
   </configuration>

http://git-wip-us.apache.org/repos/asf/isis/blob/a5de745f/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp__enhance_only_.xml
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp__enhance_only_.xml b/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp__enhance_only_.xml
index daa30cf..1a312f9 100644
--- a/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp__enhance_only_.xml
+++ b/example/application/simpleapp/webapp/ide/intellij/launch/SimpleApp__enhance_only_.xml
@@ -16,7 +16,6 @@ s  <configuration default="false" name="SimpleApp (enhance only)" type="Applicat
     <ConfigurationWrapper RunnerId="Run" />
     <method>
       <option name="Make" enabled="false" />
-      <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/core/pom.xml" goal="-f pom-jdo-enhance-all.xml datanucleus:enhance -o" />
       <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/example/application/simpleapp/dom/pom.xml" goal="datanucleus:enhance -o" />
     </method>
   </configuration>


[04/12] ISIS-913: removing IsisViewerInstaller and EmbeddedWebServerInstaller APIs (and implementations)

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/b5a05ac7/example/application/simpleapp/webapp/coverage-error.log
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/coverage-error.log b/example/application/simpleapp/webapp/coverage-error.log
new file mode 100644
index 0000000..5b8abde
--- /dev/null
+++ b/example/application/simpleapp/webapp/coverage-error.log
@@ -0,0 +1,585 @@
+[2014.10.03 17:58:53] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalDateMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:58:53] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalDateTimeMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:58:53] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalTimeMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:58:54] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.oracle.OracleClobRDBMSMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:279)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.loadDatastoreMapping(RDBMSMappingManager.java:175)
+	at org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter.initialiseTypes(BaseDatastoreAdapter.java:448)
+	at org.datanucleus.store.rdbms.adapter.HSQLAdapter.initialiseTypes(HSQLAdapter.java:133)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:312)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 17:58:54] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.oracle.OracleBlobRDBMSMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:279)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.loadDatastoreMapping(RDBMSMappingManager.java:175)
+	at org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter.initialiseTypes(BaseDatastoreAdapter.java:448)
+	at org.datanucleus.store.rdbms.adapter.HSQLAdapter.initialiseTypes(HSQLAdapter.java:133)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:312)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:136)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)


[07/12] ISIS-913: removing TemplateImageLoader, also DeploymentType.EXPLORATION, PROTOTYPE, CLIENT (have retained the server-side equivalents).

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
index 17a5bfe..9f833c0 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
@@ -40,7 +40,6 @@ import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.metamodel.specloader.ServiceInitializer;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
@@ -71,7 +70,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
     
     private final DeploymentType deploymentType;
     private final IsisConfiguration configuration;
-    private final TemplateImageLoader templateImageLoader;
     private final SpecificationLoaderSpi specificationLoaderSpi;
     private final AuthenticationManager authenticationManager;
     private final AuthorizationManager authorizationManager;
@@ -82,22 +80,20 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
     private final OidMarshaller oidMarshaller;
 
     public IsisSessionFactoryDefault(
-            final DeploymentType deploymentType, 
-            final IsisConfiguration configuration, 
-            final SpecificationLoaderSpi specificationLoader, 
-            final TemplateImageLoader templateImageLoader, 
+            final DeploymentType deploymentType,
+            final IsisConfiguration configuration,
+            final SpecificationLoaderSpi specificationLoader,
             final AuthenticationManager authenticationManager,
-            final AuthorizationManager authorizationManager, 
-            final UserProfileLoader userProfileLoader, 
-            final PersistenceSessionFactory persistenceSessionFactory, 
-            final DomainObjectContainer container, 
-            final List<Object> serviceList, 
+            final AuthorizationManager authorizationManager,
+            final UserProfileLoader userProfileLoader,
+            final PersistenceSessionFactory persistenceSessionFactory,
+            final DomainObjectContainer container,
+            final List<Object> serviceList,
             final OidMarshaller oidMarshaller) {
 
         ensureThatArg(deploymentType, is(not(nullValue())));
         ensureThatArg(configuration, is(not(nullValue())));
         ensureThatArg(specificationLoader, is(not(nullValue())));
-        ensureThatArg(templateImageLoader, is(not(nullValue())));
         ensureThatArg(authenticationManager, is(not(nullValue())));
         ensureThatArg(authorizationManager, is(not(nullValue())));
         ensureThatArg(userProfileLoader, is(not(nullValue())));
@@ -106,7 +102,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
 
         this.deploymentType = deploymentType;
         this.configuration = configuration;
-        this.templateImageLoader = templateImageLoader;
         this.specificationLoaderSpi = specificationLoader;
         this.authenticationManager = authenticationManager;
         this.authorizationManager = authorizationManager;
@@ -199,8 +194,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
      */
     @Override
     public void init() {
-        templateImageLoader.init();
-
         specificationLoaderSpi.setContainer(container);
         specificationLoaderSpi.setServices(serviceList);
         specificationLoaderSpi.init();
@@ -225,7 +218,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
         persistenceSessionFactory.shutdown();
         authenticationManager.shutdown();
         specificationLoaderSpi.shutdown();
-        templateImageLoader.shutdown();
         userProfileLoader.shutdown();
     }
 
@@ -266,11 +258,6 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
     }
 
     @Override
-    public TemplateImageLoader getTemplateImageLoader() {
-        return templateImageLoader;
-    }
-
-    @Override
     public AuthenticationManager getAuthenticationManager() {
         return authenticationManager;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
index 11b41ac..42dabb9 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemAbstract.java
@@ -40,7 +40,6 @@ import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authentication.exploration.ExplorationSession;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.fixtures.FixturesInstaller;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
 import org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -175,10 +174,9 @@ public abstract class IsisSystemAbstract extends IsisSystemFixturesHookAbstract
         final IsisConfiguration configuration = getConfiguration();
         final AuthenticationManager authenticationManager = obtainAuthenticationManager(deploymentType);
         final AuthorizationManager authorizationManager = obtainAuthorizationManager(deploymentType);
-        final TemplateImageLoader templateImageLoader = obtainTemplateImageLoader();
         final OidMarshaller oidMarshaller = obtainOidMarshaller();
         
-        final Collection<MetaModelRefiner> metaModelRefiners = refiners(authenticationManager, authorizationManager, templateImageLoader, persistenceSessionFactory);
+        final Collection<MetaModelRefiner> metaModelRefiners = refiners(authenticationManager, authorizationManager, persistenceSessionFactory);
         final SpecificationLoaderSpi reflector = obtainSpecificationLoaderSpi(deploymentType, persistenceSessionFactory, metaModelRefiners);
 
         final DomainObjectContainer container = obtainContainer();
@@ -188,15 +186,29 @@ public abstract class IsisSystemAbstract extends IsisSystemFixturesHookAbstract
         final RuntimeContextFromSession runtimeContext = obtainRuntimeContextFromSession();
         runtimeContext.injectInto(reflector);
 
-        return newIsisSessionFactory(deploymentType, userProfileLoader, persistenceSessionFactory, configuration, authenticationManager, authorizationManager, templateImageLoader, oidMarshaller, reflector, container, services);
+        return newIsisSessionFactory(
+                deploymentType, userProfileLoader,
+                persistenceSessionFactory,
+                configuration,
+                authenticationManager, authorizationManager,
+                oidMarshaller,
+                reflector,
+                container, services);
     }
 
     protected RuntimeContextFromSession obtainRuntimeContextFromSession() {
         return new RuntimeContextFromSession();
     }
 
-    protected IsisSessionFactoryDefault newIsisSessionFactory(DeploymentType deploymentType, UserProfileLoader userProfileLoader, PersistenceSessionFactory persistenceSessionFactory, IsisConfiguration configuration, AuthenticationManager authenticationManager, AuthorizationManager authorizationManager, TemplateImageLoader templateImageLoader, OidMarshaller oidMarshaller, SpecificationLoaderSpi reflector, DomainObjectContainer container, List<Object> services) {
-        return new IsisSessionFactoryDefault(deploymentType, configuration, reflector, templateImageLoader, authenticationManager, authorizationManager, userProfileLoader, persistenceSessionFactory, container, services, oidMarshaller);
+    protected IsisSessionFactoryDefault newIsisSessionFactory(
+            final DeploymentType deploymentType, final UserProfileLoader userProfileLoader,
+            final PersistenceSessionFactory persistenceSessionFactory,
+            final IsisConfiguration configuration,
+            final AuthenticationManager authenticationManager, final AuthorizationManager authorizationManager,
+            final OidMarshaller oidMarshaller,
+            final SpecificationLoaderSpi reflector,
+            final DomainObjectContainer container, final List<Object> services) {
+        return new IsisSessionFactoryDefault(deploymentType, configuration, reflector, authenticationManager, authorizationManager, userProfileLoader, persistenceSessionFactory, container, services, oidMarshaller);
     }
 
     private static Collection<MetaModelRefiner> refiners(Object... possibleRefiners ) {

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
index ef088e0..6fae368 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisSystemUsingInstallers.java
@@ -19,21 +19,11 @@
 
 package org.apache.isis.core.runtime.systemusinginstallers;
 
-import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
-import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-
 import java.util.Collection;
 import java.util.List;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.facetapi.ClassSubstitutorFactory;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
@@ -43,11 +33,8 @@ import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstalle
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
 import org.apache.isis.core.runtime.fixtures.FixturesInstaller;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
 import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
 import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
-import org.apache.isis.core.runtime.persistence.PersistenceConstants;
 import org.apache.isis.core.runtime.services.ServicesInstaller;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.IsisSystemException;
@@ -58,6 +45,10 @@ import org.apache.isis.core.runtime.transaction.facetdecorator.standard.Transact
 import org.apache.isis.core.runtime.userprofile.UserProfileStore;
 import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
 
+import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
+import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState;
+import static org.hamcrest.CoreMatchers.*;
+
 public class IsisSystemUsingInstallers extends IsisSystemAbstract {
 
     public static final Logger LOG = LoggerFactory.getLogger(IsisSystemUsingInstallers.class);
@@ -180,25 +171,6 @@ public class IsisSystemUsingInstallers extends IsisSystemAbstract {
     }
 
     // ///////////////////////////////////////////
-    // Template Image Loader
-    // ///////////////////////////////////////////
-
-    /**
-     * Uses the {@link TemplateImageLoader} configured in
-     * {@link InstallerLookup}, if available, else falls back to that of the
-     * superclass.
-     */
-    @Override
-    protected TemplateImageLoader obtainTemplateImageLoader() {
-        final TemplateImageLoaderInstaller templateImageLoaderInstaller = installerLookup.templateImageLoaderInstaller(null);
-        if (templateImageLoaderInstaller != null) {
-            return templateImageLoaderInstaller.createLoader();
-        } else {
-            return super.obtainTemplateImageLoader();
-        }
-    }
-
-    // ///////////////////////////////////////////
     // Reflector
     // ///////////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstractForDfltRuntimeTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstractForDfltRuntimeTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstractForDfltRuntimeTest.java
index 8092610..aed6454 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstractForDfltRuntimeTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/AuthenticatorAbstractForDfltRuntimeTest.java
@@ -19,9 +19,6 @@
 
 package org.apache.isis.core.runtime.authentication.standard;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 import org.jmock.Expectations;
 import org.jmock.Mockery;
 import org.jmock.integration.junit4.JMock;
@@ -29,12 +26,14 @@ import org.jmock.integration.junit4.JUnit4Mockery;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
 import org.apache.isis.core.runtime.authentication.AuthenticatorAbstractForDfltRuntime;
 import org.apache.isis.core.runtime.system.DeploymentType;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 @RunWith(JMock.class)
 public class AuthenticatorAbstractForDfltRuntimeTest {
 
@@ -68,7 +67,7 @@ public class AuthenticatorAbstractForDfltRuntimeTest {
 
     @Test
     public void getDeploymentTypeForExploration() throws Exception {
-        final DeploymentType deploymentType = DeploymentType.EXPLORATION;
+        final DeploymentType deploymentType = DeploymentType.SERVER_EXPLORATION;
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString("isis.deploymentType");
@@ -80,7 +79,7 @@ public class AuthenticatorAbstractForDfltRuntimeTest {
 
     @Test
     public void getDeploymentTypeForPrototype() throws Exception {
-        final DeploymentType deploymentType = DeploymentType.PROTOTYPE;
+        final DeploymentType deploymentType = DeploymentType.SERVER_PROTOTYPE;
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString("isis.deploymentType");

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/MultiUserExplorationSessionTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/MultiUserExplorationSessionTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/MultiUserExplorationSessionTest.java
deleted file mode 100644
index 4a93bdb..0000000
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/MultiUserExplorationSessionTest.java
+++ /dev/null
@@ -1,209 +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.authentication.standard;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.Assert;
-
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnit4Mockery;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authentication.exploration.AuthenticationRequestExploration;
-import org.apache.isis.core.runtime.authentication.exploration.ExplorationAuthenticator;
-import org.apache.isis.core.runtime.authentication.exploration.ExplorationAuthenticatorConstants;
-import org.apache.isis.core.runtime.authentication.exploration.ExplorationSession;
-import org.apache.isis.core.runtime.authentication.exploration.MultiUserExplorationSession;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.SystemConstants;
-
-@RunWith(JMock.class)
-public class MultiUserExplorationSessionTest {
-
-    private final Mockery mockery = new JUnit4Mockery();
-
-    private MultiUserExplorationSession session;
-    private IsisConfiguration mockConfiguration;
-    private ExplorationAuthenticator authenticator;
-
-    @Before
-    public void setUp() {
-        mockConfiguration = mockery.mock(IsisConfiguration.class);
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
-                will(returnValue(DeploymentType.EXPLORATION.name()));
-            }
-        });
-    }
-
-    @Test
-    public void testNameDefaultsToFirstUser() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("fred, sven:admin|sales|marketing, bob:sales, dick"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        final AuthenticationSession session = authenticator.authenticate(new AuthenticationRequestExploration(), "");
-
-        Assert.assertEquals("fred", session.getUserName());
-    }
-
-    @Test
-    public void testValidateCode() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("fred, sven:admin|sales|marketing, bob:sales, dick"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        final AuthenticationSession session = authenticator.authenticate(new AuthenticationRequestExploration(), "xxx");
-
-        Assert.assertEquals("xxx", session.getValidationCode());
-    }
-
-    @Test
-    public void testNoRolesSpecifiedForFirstUser() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("fred, sven:admin|sales|marketing, bob:sales, dick"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        final AuthenticationSession session = authenticator.authenticate(new AuthenticationRequestExploration(), "");
-
-        Assert.assertEquals(0, session.getRoles().size());
-    }
-
-    @Test
-    public void testForMultipleUser() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("fred, sven:admin|sales|marketing, bob:sales, dick"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        final AuthenticationSession authSession = authenticator.authenticate(new AuthenticationRequestExploration(), "");
-
-        assertThat(authSession, is(instanceOf(MultiUserExplorationSession.class)));
-
-        assertThat(authSession.getUserName(), is(equalTo("fred")));
-    }
-
-    @Test
-    public void testForSingleUser() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("sven"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        final AuthenticationSession authSession = authenticator.authenticate(new AuthenticationRequestExploration(), "");
-        assertThat(authSession, is(instanceOf(SimpleSession.class)));
-
-        assertThat(authSession.getUserName(), is(equalTo("sven")));
-    }
-
-    @Test
-    public void testNoUsersSpecified() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue(null));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-
-        final AuthenticationSession authSession = authenticator.authenticate(new AuthenticationRequestExploration(), "");
-        assertThat(authSession, is(instanceOf(ExplorationSession.class)));
-    }
-
-    @Test
-    public void testOtherUsers() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("fred, sven:admin|sales|marketing, bob:sales, dick"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        this.session = (MultiUserExplorationSession) authenticator.authenticate(new AuthenticationRequestExploration(), "");
-
-        final Set<String> availableSessions = session.getUserNames();
-        Assert.assertEquals(4, availableSessions.size());
-        Assert.assertTrue(availableSessions.contains("fred"));
-        Assert.assertTrue(availableSessions.contains("sven"));
-        Assert.assertTrue(availableSessions.contains("bob"));
-        Assert.assertTrue(availableSessions.contains("dick"));
-    }
-
-    @Test
-    public void testChangeUser() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("fred, sven:admin|sales|marketing, bob:sales, dick"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        this.session = (MultiUserExplorationSession) authenticator.authenticate(new AuthenticationRequestExploration(), "");
-
-        session.setCurrentSession("bob");
-        Assert.assertEquals("bob", session.getUserName());
-    }
-
-    @Test
-    public void testRolesExist() throws Exception {
-        mockery.checking(new Expectations() {
-            {
-                allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue("fred, sven:admin|sales|marketing, bob:sales, dick"));
-            }
-        });
-        authenticator = new ExplorationAuthenticator(mockConfiguration);
-        this.session = (MultiUserExplorationSession) authenticator.authenticate(new AuthenticationRequestExploration(), "");
-
-        session.setCurrentSession("sven");
-        final List<String> roles = session.getRoles();
-        Assert.assertEquals(3, roles.size());
-        Assert.assertEquals("admin", roles.get(0));
-        Assert.assertEquals("sales", roles.get(1));
-        Assert.assertEquals("marketing", roles.get(2));
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
index 48a5387..6ce0796 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
@@ -19,9 +19,6 @@
 
 package org.apache.isis.core.runtime.authentication.standard.exploration;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 import org.jmock.Expectations;
 import org.jmock.Mockery;
 import org.jmock.integration.junit4.JMock;
@@ -29,7 +26,6 @@ import org.jmock.integration.junit4.JUnit4Mockery;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.runtime.authentication.AuthenticationRequestAbstract;
 import org.apache.isis.core.runtime.authentication.exploration.AuthenticationRequestExploration;
@@ -38,6 +34,9 @@ import org.apache.isis.core.runtime.authentication.exploration.ExplorationAuthen
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.SystemConstants;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 @RunWith(JMock.class)
 public class ExplorationAuthenticatorTest {
 
@@ -63,7 +62,7 @@ public class ExplorationAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString(ExplorationAuthenticatorConstants.USERS);
-                will(returnValue(DeploymentType.EXPLORATION.name()));
+                will(returnValue(DeploymentType.UNIT_TESTING.name()));
             }
         });
 
@@ -88,7 +87,7 @@ public class ExplorationAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
-                will(returnValue(DeploymentType.EXPLORATION.name()));
+                will(returnValue(DeploymentType.SERVER_EXPLORATION.name()));
             }
         });
         assertThat(authenticator.isValid(explorationRequest), is(true));
@@ -99,7 +98,7 @@ public class ExplorationAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
-                will(returnValue(DeploymentType.PROTOTYPE.name()));
+                will(returnValue(DeploymentType.UNIT_TESTING.name()));
             }
         });
         assertThat(authenticator.isValid(explorationRequest), is(false));
@@ -121,7 +120,7 @@ public class ExplorationAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
-                will(returnValue(DeploymentType.EXPLORATION.name()));
+                will(returnValue(DeploymentType.UNIT_TESTING.name()));
             }
         });
         assertThat(authenticator.canAuthenticate(someOtherRequest.getClass()), is(false));

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/fixture/LogonFixtureAuthenticatorTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/fixture/LogonFixtureAuthenticatorTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/fixture/LogonFixtureAuthenticatorTest.java
index 24ab4ab..8d75f66 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/fixture/LogonFixtureAuthenticatorTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/fixture/LogonFixtureAuthenticatorTest.java
@@ -19,9 +19,6 @@
 
 package org.apache.isis.core.runtime.authentication.standard.fixture;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 import org.jmock.Expectations;
 import org.jmock.Mockery;
 import org.jmock.integration.junit4.JMock;
@@ -29,7 +26,6 @@ import org.jmock.integration.junit4.JUnit4Mockery;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
 import org.apache.isis.applib.fixtures.LogonFixture;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.runtime.authentication.AuthenticationRequestAbstract;
@@ -37,6 +33,9 @@ import org.apache.isis.core.runtime.authentication.fixture.LogonFixtureAuthentic
 import org.apache.isis.core.runtime.fixtures.authentication.AuthenticationRequestLogonFixture;
 import org.apache.isis.core.runtime.system.DeploymentType;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 @RunWith(JMock.class)
 public class LogonFixtureAuthenticatorTest {
 
@@ -79,7 +78,7 @@ public class LogonFixtureAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString("isis.deploymentType");
-                will(returnValue(DeploymentType.EXPLORATION.name()));
+                will(returnValue(DeploymentType.SERVER_EXPLORATION.name()));
             }
         });
         assertThat(authenticator.isValid(logonFixtureRequest), is(true));
@@ -90,7 +89,7 @@ public class LogonFixtureAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString("isis.deploymentType");
-                will(returnValue(DeploymentType.PROTOTYPE.name()));
+                will(returnValue(DeploymentType.SERVER_PROTOTYPE.name()));
             }
         });
         assertThat(authenticator.isValid(logonFixtureRequest), is(true));
@@ -123,7 +122,7 @@ public class LogonFixtureAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString("isis.deploymentType");
-                will(returnValue(DeploymentType.EXPLORATION.name()));
+                will(returnValue(DeploymentType.SERVER_EXPLORATION.name()));
             }
         });
         assertThat(authenticator.canAuthenticate(SomeOtherAuthenticationRequest.class), is(false));

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
index 7dd1d38..ebef359 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/context/IsisContextTest.java
@@ -39,7 +39,6 @@ import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authentication.standard.SimpleSession;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.context.IsisContextStatic;
@@ -66,8 +65,6 @@ public class IsisContextTest {
     private SpecificationLoaderSpi mockSpecificationLoader;
 
     @Mock
-    protected TemplateImageLoader mockTemplateImageLoader;
-    @Mock
     protected PersistenceSessionFactory mockPersistenceSessionFactory;
     @Mock
     private UserProfileLoader mockUserProfileLoader;
@@ -110,13 +107,12 @@ public class IsisContextTest {
                 ignoring(mockUserProfileLoader);
                 ignoring(mockAuthenticationManager);
                 ignoring(mockAuthorizationManager);
-                ignoring(mockTemplateImageLoader);
-                
+
                 ignoring(mockContainer);
             }
         });
 
-        sessionFactory = new IsisSessionFactoryDefault(DeploymentType.EXPLORATION, configuration, mockSpecificationLoader, mockTemplateImageLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockPersistenceSessionFactory, mockContainer, servicesList, oidMarshaller);
+        sessionFactory = new IsisSessionFactoryDefault(DeploymentType.UNIT_TESTING, configuration, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockPersistenceSessionFactory, mockContainer, servicesList, oidMarshaller);
         authSession = new SimpleSession("tester", Collections.<String>emptyList());
         
         IsisContext.setConfiguration(configuration);

http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
index 3ab5b5f..9070933 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryAbstractTest_init_and_shutdown.java
@@ -19,32 +19,18 @@
 
 package org.apache.isis.core.runtime.system.session;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
 import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.annotation.PostConstruct;
-
 import com.google.common.collect.Lists;
-
 import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
-
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
-import org.apache.isis.core.metamodel.specloader.ServiceInitializer;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
@@ -69,8 +55,6 @@ public class IsisSessionFactoryAbstractTest_init_and_shutdown {
     @Mock
     private SpecificationLoaderSpi mockSpecificationLoader;
     @Mock
-    private TemplateImageLoader mockTemplateImageLoader;
-    @Mock
     private AuthenticationManager mockAuthenticationManager;
     @Mock
     private AuthorizationManager mockAuthorizationManager;
@@ -95,7 +79,7 @@ public class IsisSessionFactoryAbstractTest_init_and_shutdown {
         configuration.add("foo", "bar");
         
         serviceList = Lists.newArrayList();
-        context.ignoring(mockDeploymentType, mockSpecificationLoader, mockTemplateImageLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockContainer, mockPersistenceSessionFactory, mockOidMarshaller);
+        context.ignoring(mockDeploymentType, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockContainer, mockPersistenceSessionFactory, mockOidMarshaller);
     }
     
 
@@ -103,7 +87,7 @@ public class IsisSessionFactoryAbstractTest_init_and_shutdown {
     public void validate_DomainServicesWithDuplicateIds() {
         serviceList.add(new DomainServiceWithSomeId());
         serviceList.add(new DomainServiceWithDuplicateId());
-        isf = new IsisSessionFactoryDefault(mockDeploymentType, configuration, mockSpecificationLoader, mockTemplateImageLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockPersistenceSessionFactory, mockContainer, serviceList, mockOidMarshaller) {
+        isf = new IsisSessionFactoryDefault(mockDeploymentType, configuration, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, mockPersistenceSessionFactory, mockContainer, serviceList, mockOidMarshaller) {
         };
     }
 }


[10/12] git commit: ISIS-913: fixes for tests to pass.

Posted by da...@apache.org.
ISIS-913: fixes for tests to pass.


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

Branch: refs/heads/master
Commit: 7c19372de554e5a587b5c12171b8718922e6f637
Parents: 73bbad6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat Oct 4 12:18:23 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat Oct 4 12:18:23 2014 +0100

----------------------------------------------------------------------
 .../apache/isis/core/integtestsupport/legacy/IsisTestRunner.java | 2 +-
 .../java/org/apache/isis/core/runtime/system/DeploymentType.java | 2 +-
 .../standard/exploration/ExplorationAuthenticatorTest.java       | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/7c19372d/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
index 7319f93..cdd1170 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/IsisTestRunner.java
@@ -91,7 +91,7 @@ public class IsisTestRunner extends JUnit4ClassRunner {
         try {
             // init the system; cf similar code in Isis and
             // IsisServletContextInitializer
-            final DeploymentType deploymentType = DeploymentType.SERVER_PROTOTYPE;
+            final DeploymentType deploymentType = DeploymentType.UNIT_TESTING;
 
             // TODO: replace with regular IsisSystem and remove this subclass.
             system = new IsisSystemUsingInstallersWithinJunit(deploymentType, installerLookup, testClass);

http://git-wip-us.apache.org/repos/asf/isis/blob/7c19372d/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
index 693f470..e92b5ff 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/DeploymentType.java
@@ -61,7 +61,7 @@ public class DeploymentType implements DeploymentCategoryProvider {
     public static DeploymentType SERVER = new DeploymentType("SERVER", DeploymentCategory.PRODUCTION, ContextCategory.THREADLOCAL);
     public static DeploymentType SERVER_EXPLORATION = new DeploymentType("SERVER_EXPLORATION", DeploymentCategory.EXPLORING, ContextCategory.THREADLOCAL);
     public static DeploymentType SERVER_PROTOTYPE = new DeploymentType("SERVER_PROTOTYPE", DeploymentCategory.PROTOTYPING, ContextCategory.THREADLOCAL);
-    public static DeploymentType UNIT_TESTING = new DeploymentType("UNIT_TESTING", DeploymentCategory.EXPLORING, ContextCategory.STATIC);
+    public static DeploymentType UNIT_TESTING = new DeploymentType("UNIT_TESTING", DeploymentCategory.PRODUCTION, ContextCategory.STATIC_RELAXED);
     public static DeploymentType UTILITY = new DeploymentType("UTILITY", DeploymentCategory.EXPLORING, ContextCategory.STATIC);
 
     /**

http://git-wip-us.apache.org/repos/asf/isis/blob/7c19372d/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
index 6ce0796..9bd8cdd 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/authentication/standard/exploration/ExplorationAuthenticatorTest.java
@@ -98,7 +98,7 @@ public class ExplorationAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
-                will(returnValue(DeploymentType.UNIT_TESTING.name()));
+                will(returnValue(DeploymentType.SERVER_PROTOTYPE.name()));
             }
         });
         assertThat(authenticator.isValid(explorationRequest), is(false));
@@ -120,7 +120,7 @@ public class ExplorationAuthenticatorTest {
         mockery.checking(new Expectations() {
             {
                 allowing(mockConfiguration).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
-                will(returnValue(DeploymentType.UNIT_TESTING.name()));
+                will(returnValue(DeploymentType.SERVER_PROTOTYPE.name()));
             }
         });
         assertThat(authenticator.canAuthenticate(someOtherRequest.getClass()), is(false));


[06/12] ISIS-913: removing TemplateImageLoader, also DeploymentType.EXPLORATION, PROTOTYPE, CLIENT (have retained the server-side equivalents).

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/c769dacc/example/application/todoapp/webapp/coverage-error.log
----------------------------------------------------------------------
diff --git a/example/application/todoapp/webapp/coverage-error.log b/example/application/todoapp/webapp/coverage-error.log
index 2bda360..f62707d 100644
--- a/example/application/todoapp/webapp/coverage-error.log
+++ b/example/application/todoapp/webapp/coverage-error.log
@@ -583,3 +583,588 @@ java.lang.NullPointerException
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 	at java.lang.reflect.Method.invoke(Method.java:606)
 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 18:12:52] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalDateMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 18:12:52] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalDateTimeMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 18:12:52] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.java.LocalTimeMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:280)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.addMappedType(MappedTypeManager.java:237)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.loadMappings(MappedTypeManager.java:170)
+	at org.datanucleus.store.rdbms.mapping.MappedTypeManager.<init>(MappedTypeManager.java:61)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:288)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 18:12:53] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.oracle.OracleClobRDBMSMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:279)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.loadDatastoreMapping(RDBMSMappingManager.java:175)
+	at org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter.initialiseTypes(BaseDatastoreAdapter.java:448)
+	at org.datanucleus.store.rdbms.adapter.HSQLAdapter.initialiseTypes(HSQLAdapter.java:133)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:312)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
+[2014.10.03 18:12:53] (Coverage): Error during class instrumentation: org.datanucleus.store.rdbms.mapping.oracle.OracleBlobRDBMSMapping
+java.lang.NullPointerException
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.typeInfo(Instrumentator.java:358)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$MyClassWriter.getCommonSuperClass(Instrumentator.java:279)
+	at org.jetbrains.org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1654)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1425)
+	at org.jetbrains.org.objectweb.asm.Frame.merge(Frame.java:1325)
+	at org.jetbrains.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1475)
+	at org.jetbrains.org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:866)
+	at com.intellij.rt.coverage.instrumentation.SamplingInstrumenter$1.visitMaxs(SamplingInstrumenter.java:78)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readCode(ClassReader.java:1554)
+	at org.jetbrains.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
+	at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.instrument(Instrumentator.java:177)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator.access$000(Instrumentator.java:25)
+	at com.intellij.rt.coverage.instrumentation.Instrumentator$1.transform(Instrumentator.java:134)
+	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
+	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
+	at java.lang.ClassLoader.defineClass1(Native Method)
+	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
+	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
+	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
+	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:270)
+	at org.datanucleus.ClassLoaderResolverImpl.classOrNull(ClassLoaderResolverImpl.java:517)
+	at org.datanucleus.ClassLoaderResolverImpl.classForName(ClassLoaderResolverImpl.java:186)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.loadClass(NonManagedPluginRegistry.java:643)
+	at org.datanucleus.plugin.PluginManager.loadClass(PluginManager.java:341)
+	at org.datanucleus.store.rdbms.mapping.RDBMSMappingManager.loadDatastoreMapping(RDBMSMappingManager.java:175)
+	at org.datanucleus.store.rdbms.adapter.BaseDatastoreAdapter.initialiseTypes(BaseDatastoreAdapter.java:448)
+	at org.datanucleus.store.rdbms.adapter.HSQLAdapter.initialiseTypes(HSQLAdapter.java:133)
+	at org.datanucleus.store.rdbms.RDBMSStoreManager.<init>(RDBMSStoreManager.java:312)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
+	at org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631)
+	at org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)
+	at org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1245)
+	at org.datanucleus.NucleusContext.initialise(NucleusContext.java:356)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333)
+	at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at javax.jdo.JDOHelper$16.run(JDOHelper.java:1970)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at javax.jdo.JDOHelper.invoke(JDOHelper.java:1965)
+	at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1171)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:813)
+	at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:702)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.init(DataNucleusApplicationComponents.java:107)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:97)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:127)
+	at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
+	at org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstallerAbstract.createPersistenceSession(PersistenceMechanismInstallerAbstract.java:138)
+	at org.apache.isis.core.runtime.persistence.PersistenceSessionFactoryDelegating.createPersistenceSession(PersistenceSessionFactoryDelegating.java:97)
+	at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:235)
+	at org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:149)
+	at org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:178)
+	at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:142)
+	at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
+	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
+	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
+	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
+	at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
+	at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
+	at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
+	at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
+	at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
+	at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229)
+	at org.apache.wicket.Application.initApplication(Application.java:823)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
+	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
+	at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:224)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:93)
+	at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92)
+	at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68)
+	at org.apache.isis.WebServer.main(WebServer.java:25)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:606)
+	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)


[09/12] git commit: ISIS-913: further stuff pertaining to removing the EmbeddedWebServer API.

Posted by da...@apache.org.
ISIS-913: further stuff pertaining to removing the EmbeddedWebServer API.


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

Branch: refs/heads/master
Commit: 73bbad63e238bc5fd3f7905cb97c7402777c48fc
Parents: c769dac
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat Oct 4 09:39:29 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat Oct 4 09:39:29 2014 +0100

----------------------------------------------------------------------
 .../core/runtime/system/SystemConstants.java    | 44 --------------------
 .../core/webserver/WebServerBootstrapper.java   | 16 ++-----
 .../isis/core/webserver/WebServerConstants.java |  3 +-
 3 files changed, 5 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/73bbad63/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
index f4f0ca4..49803aa 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/SystemConstants.java
@@ -28,15 +28,11 @@ import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstalle
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
 import org.apache.isis.core.runtime.fixtures.FixturesInstaller;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoaderInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.EmbeddedWebServerInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstaller;
 import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
 import org.apache.isis.core.runtime.services.ServicesInstaller;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.userprofile.UserProfileStore;
 import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
 
 public final class SystemConstants {
 
@@ -61,16 +57,6 @@ public final class SystemConstants {
      */
     public static final String REFLECTOR_DEFAULT = "java";
 
-    /**
-     * Key used to lookup {@link IsisViewer viewer} in {@link IsisConfiguration}
-     * , and root for any {@link IsisViewerInstaller viewer}-specific
-     * configuration keys.
-     */
-    public final static String VIEWER_KEY = ConfigurationConstants.ROOT + IsisViewerInstaller.TYPE;
-    /**
-     * Default for {@link #VIEWER_KEY}.
-     */
-    public static final String VIEWER_DEFAULT = "restfulobjects";
 
     /**
      * Key used to lookup {@link PersistenceSessionFactory persistor} in
@@ -158,35 +144,6 @@ public final class SystemConstants {
     public static final String FIXTURES_INSTALLER_DEFAULT = "configuration";
 
     /**
-     * Key used to lookup {@link TemplateImageLoaderInstaller template image
-     * loader} in {@link IsisConfiguration}, and root for any
-     * {@link TemplateImageLoaderInstaller template image loader}-specific
-     * configuration keys.
-     */
-    public static final String IMAGE_LOADER_KEY = ConfigurationConstants.ROOT + TemplateImageLoaderInstaller.TYPE;
-    /**
-     * Default for {@link #IMAGE_LOADER_KEY} and not running on Google App Engine.
-     */
-    public static final String IMAGE_LOADER_DEFAULT = "awt";
-    /**
-     * Default if running on Google App Engine, see {@link org.apache.isis.core.runtime.installerregistry.InstallerLookup#templateImageLoaderInstaller(String)}
-     */
-    public static final String IMAGE_LOADER_NOOP = "noop";
-
-
-    /**
-     * Key used to lookup {@link EmbeddedWebServerInstaller embedded web
-     * installer} in {@link IsisConfiguration}, and root for any
-     * {@link EmbeddedWebServerInstaller embedded web server installer}-specific
-     * configuration keys.
-     */
-    public static final String WEBSERVER_KEY = ConfigurationConstants.ROOT + EmbeddedWebServerInstaller.TYPE;
-    /**
-     * Default for {@link #WEBSERVER_KEY}
-     */
-    public static final String WEBSERVER_DEFAULT = "jetty";
-
-    /**
      * Key by which requested fixture (eg via command line) is made available in
      * {@link IsisConfiguration}.
      */
@@ -212,7 +169,6 @@ public final class SystemConstants {
      * Use {@link Splash#valueOf(String)} to decode.
      */
     public static final String NOSPLASH_KEY = ConfigurationConstants.ROOT + "nosplash";
-    public static final boolean NOSPLASH_DEFAULT = false;
 
     public static final String LOCALE_KEY = ConfigurationConstants.ROOT + "locale";
 

http://git-wip-us.apache.org/repos/asf/isis/blob/73bbad63/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
index 0d85e62..4f1f466 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
@@ -19,25 +19,15 @@
 
 package org.apache.isis.core.webserver;
 
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_PORT_DEFAULT;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_PORT_KEY;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_RESOURCE_BASE_DEFAULT;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_RESOURCE_BASE_KEY;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_STARTUP_MODE_DEFAULT;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY;
-
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import com.google.inject.Injector;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.mortbay.jetty.Connector;
 import org.mortbay.jetty.Server;
 import org.mortbay.jetty.webapp.WebAppContext;
-
+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.IsisConfigurationBuilderPrimer;
@@ -48,6 +38,8 @@ import org.apache.isis.core.runtime.runner.IsisRunner;
 import org.apache.isis.core.webapp.WebAppConstants;
 import org.apache.isis.core.webserver.WebServer.StartupMode;
 
+import static org.apache.isis.core.webserver.WebServerConstants.*;
+
 final class WebServerBootstrapper implements IsisBootstrapper {
 
     private static final Logger LOG = LoggerFactory.getLogger(WebServerBootstrapper.class);

http://git-wip-us.apache.org/repos/asf/isis/blob/73bbad63/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerConstants.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerConstants.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerConstants.java
index 9e4a899..42439ec 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerConstants.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerConstants.java
@@ -20,12 +20,11 @@
 package org.apache.isis.core.webserver;
 
 import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.runtime.installerregistry.installerapi.EmbeddedWebServerInstaller;
 import org.apache.isis.core.webserver.WebServer.StartupMode;
 
 public final class WebServerConstants {
 
-    private static final String ROOT = ConfigurationConstants.ROOT + EmbeddedWebServerInstaller.TYPE + ".";
+    private static final String ROOT = ConfigurationConstants.ROOT + "embedded-web-server" + ".";
 
     public static final String EMBEDDED_WEB_SERVER_PORT_KEY = ROOT + "port";
     public static final int EMBEDDED_WEB_SERVER_PORT_DEFAULT = 8080;


[12/12] git commit: ISIS-802: removing UserProfileStore, Perspective, Options. Localization reverted to using the server default (since was only ever populated in Scimpi, and there are other JIRA issues already raised to implement client-side i18n).

Posted by da...@apache.org.
ISIS-802: removing UserProfileStore, Perspective, Options.  Localization reverted to using the server default (since was only ever populated in Scimpi, and there are other JIRA issues already raised to implement client-side i18n).


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

Branch: refs/heads/master
Commit: e8c66fba5813838ac2e968305a04656d2d50c2c5
Parents: 7c19372
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat Oct 4 13:29:33 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat Oct 4 13:29:33 2014 +0100

----------------------------------------------------------------------
 .../viewer/scimpi/dispatcher/Dispatcher.java    |   3 +-
 .../dispatcher/view/simple/SetLocalization.java |   5 +-
 component/viewer/scimpi/tck/pom.xml             |   4 -
 component/viewer/wicket/tck/pom.xml             |   4 -
 .../tck/src/main/webapp/WEB-INF/isis.properties |   1 -
 .../isis/applib/fixtures/FixtureType.java       |  17 +-
 .../applib/fixtures/UserProfileFixture.java     |  62 -----
 .../isis/applib/fixtures/package-info.java      |   1 -
 .../fixtures/switchuser/SwitchUserService.java  |   4 -
 .../userprofile/UserProfileService.java         |  48 ----
 .../userprofile/UserProfileServiceAware.java    |  34 ---
 .../fixtures/userprofile/package-info.java      |  27 --
 .../isis/applib/profiles/Perspective.java       |  59 -----
 .../apache/isis/applib/profiles/Profile.java    |  49 ----
 core/integtestsupport/pom.xml                   |   7 +-
 .../integtestsupport/IsisSystemDefault.java     |  26 +-
 .../UserProfileStoreStaticInMemory.java         |  61 -----
 .../legacy/components/AnnotationInstaller.java  |   2 -
 .../IsisSystemUsingInstallersWithinJunit.java   |   4 -
 .../dflt/ObjectSpecificationDefault.java        |   4 -
 .../isis/core/runtime/userprofile/Options.java  | 113 --------
 .../core/runtime/userprofile/OptionsClient.java |  27 --
 .../runtime/userprofile/PerspectiveEntry.java   | 115 ---------
 .../runtime/userprofile/UserLocalization.java   |  46 ----
 .../core/runtime/userprofile/UserProfile.java   | 168 ------------
 .../runtime/userprofile/UserProfileLoader.java  |  78 ------
 .../runtime/userprofile/UserProfileStore.java   |  30 ---
 core/pom.xml                                    |  10 -
 core/profilestore-inmemory/pom.xml              |  91 -------
 .../profilestore/InMemoryUserProfileStore.java  |  61 -----
 .../InMemoryUserProfileStoreInstaller.java      |  44 ----
 .../fixtures/FixturesInstallerDelegate.java     |  15 +-
 .../runtime/fixtures/ProfileServiceImpl.java    | 181 -------------
 .../installerregistry/InstallerLookup.java      |   6 -
 .../isis/core/runtime/runner/Constants.java     |   4 -
 .../isis/core/runtime/runner/IsisRunner.java    |   2 -
 .../opts/OptionHandlerUserProfileStore.java     |  70 -----
 .../system/IsisSystemFixturesHookAbstract.java  |  11 +-
 .../core/runtime/system/SystemConstants.java    |  16 --
 .../runtime/system/context/IsisContext.java     |  26 +-
 .../runtime/system/persistence/ObjectStore.java |   8 +-
 .../runtime/system/session/IsisSession.java     |  12 -
 .../system/session/IsisSessionDefault.java      |  18 +-
 .../system/session/IsisSessionFactory.java      |   3 -
 .../session/IsisSessionFactoryDefault.java      |  24 +-
 .../IsisSystemAbstract.java                     |  19 +-
 .../IsisSystemThatUsesInstallersFactory.java    |   1 -
 .../IsisSystemUsingInstallers.java              |  26 --
 .../userprofile/UserProfileLoaderDefault.java   | 257 -------------------
 .../userprofile/UserProfileStoreInstaller.java  |  31 ---
 .../userprofile/UserProfilesDebugUtil.java      | 101 --------
 .../core/runtime/installer-registry.properties  |   3 -
 .../core/runtime/context/IsisContextTest.java   |   6 +-
 ...onFactoryAbstractTest_init_and_shutdown.java |   7 +-
 .../core/runtime/userprofile/OptionsTest.java   | 115 ---------
 core/tck/tck-viewer-restfulobjects/pom.xml      |   4 -
 .../src/main/webapp/WEB-INF/isis.properties     |   1 -
 example/application/simpleapp/webapp/pom.xml    |   4 -
 .../src/main/webapp/WEB-INF/isis.properties     |   5 -
 example/application/todoapp/webapp/pom.xml      |   4 -
 .../src/main/webapp/WEB-INF/isis.properties     |   5 -
 mothballed/profilestore-inmemory/pom.xml        |  91 +++++++
 .../profilestore/InMemoryUserProfileStore.java  |  61 +++++
 .../InMemoryUserProfileStoreInstaller.java      |  44 ++++
 64 files changed, 234 insertions(+), 2152 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
index 68a445e..5f37318 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
@@ -55,7 +55,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.core.runtime.userprofile.UserLocalization;
 import org.apache.isis.viewer.scimpi.dispatcher.action.ActionAction;
 import org.apache.isis.viewer.scimpi.dispatcher.context.RequestContext;
 import org.apache.isis.viewer.scimpi.dispatcher.context.RequestContext.Debug;
@@ -103,7 +102,7 @@ public class Dispatcher {
         if (language != null) {
             Locale locale = Util.locale(language);
             TimeZone timeZone = Util.timeZone((String) context.getVariable("user-time-zone"));
-            IsisContext.getUserProfile().setLocalization(new UserLocalization(locale, timeZone));
+            // IsisContext.getUserProfile().setLocalization(new UserLocalization(locale, timeZone));
          } 
         
         IsisContext.getPersistenceSession().getTransactionManager().startTransaction();

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/SetLocalization.java
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/SetLocalization.java b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/SetLocalization.java
index 11e8664..d8f79f6 100644
--- a/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/SetLocalization.java
+++ b/component/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/simple/SetLocalization.java
@@ -21,9 +21,6 @@ package org.apache.isis.viewer.scimpi.dispatcher.view.simple;
 
 import java.util.Locale;
 import java.util.TimeZone;
-
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.userprofile.UserLocalization;
 import org.apache.isis.viewer.scimpi.dispatcher.AbstractElementProcessor;
 import org.apache.isis.viewer.scimpi.dispatcher.processor.Request;
 
@@ -52,7 +49,7 @@ public class SetLocalization extends AbstractElementProcessor {
         
         Locale l = new Locale(language, country);
         TimeZone t = TimeZone.getTimeZone(timeZone);
-        IsisContext.getUserProfile().setLocalization(new UserLocalization(l, t));
+        // IsisContext.getUserProfile().setLocalization(new UserLocalization(l, t));
 
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/component/viewer/scimpi/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/scimpi/tck/pom.xml b/component/viewer/scimpi/tck/pom.xml
index 8136584..b53c447 100644
--- a/component/viewer/scimpi/tck/pom.xml
+++ b/component/viewer/scimpi/tck/pom.xml
@@ -101,10 +101,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-security</artifactId>
         </dependency>
         

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/component/viewer/wicket/tck/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/tck/pom.xml b/component/viewer/wicket/tck/pom.xml
index fd00b4d..12eef97 100644
--- a/component/viewer/wicket/tck/pom.xml
+++ b/component/viewer/wicket/tck/pom.xml
@@ -98,10 +98,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-security</artifactId>
         </dependency>
         

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/component/viewer/wicket/tck/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/tck/src/main/webapp/WEB-INF/isis.properties b/component/viewer/wicket/tck/src/main/webapp/WEB-INF/isis.properties
index dd19d22..b6f34f0 100644
--- a/component/viewer/wicket/tck/src/main/webapp/WEB-INF/isis.properties
+++ b/component/viewer/wicket/tck/src/main/webapp/WEB-INF/isis.properties
@@ -52,7 +52,6 @@ isis.persistor.domain-object-container=org.apache.isis.core.metamodel.services.c
 
 
 
-isis.user-profile-store=in-memory
 isis.persistor=in-memory
 #isis.xmlos.dir=/tmp/xml
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
index 143a25b..c1bf211 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
@@ -17,11 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.applib.fixtures;
-
-import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
-import org.apache.isis.applib.profiles.Perspective;
-import org.apache.isis.applib.profiles.Profile;
+    package org.apache.isis.applib.fixtures;
 
 /**
  * Enumerates the different types of {@link InstallableFixture fixture}s
@@ -43,16 +39,7 @@ public enum FixtureType {
      */
     DOMAIN_OBJECTS,
     /**
-     * Analogous to {@link FixtureType#DATA}, but for fixtures (in particular,
-     * the {@link PerspectiveFixture}) that are used to setup {@link Profile}s
-     * and their {@link Perspective}s.
-     * 
-     * @see UserProfileService
-     */
-    USER_PROFILES,
-    /**
-     * A fixture that neither installs data into the object store nor
-     * perspectives into the {@link UserProfileService}.
+     * A fixture that does not installs data into the object store.
      * 
      * <p>
      * Fixtures of this type are always installed. Typical examples are:

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java
deleted file mode 100644
index b247c9c..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java
+++ /dev/null
@@ -1,62 +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.applib.fixtures;
-
-import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
-import org.apache.isis.applib.fixtures.userprofile.UserProfileServiceAware;
-import org.apache.isis.applib.profiles.Profile;
-
-public abstract class UserProfileFixture extends BaseFixture implements UserProfileServiceAware {
-
-    private UserProfileService profileService;
-
-    public UserProfileFixture() {
-        super(FixtureType.USER_PROFILES);
-    }
-
-    @Override
-    public void setService(final UserProfileService profileService) {
-        this.profileService = profileService;
-    }
-
-    @Override
-    public final void install() {
-        installProfiles();
-    }
-
-    protected abstract void installProfiles();
-
-    protected Profile newUserProfile() {
-        return profileService.newUserProfile();
-    }
-
-    protected Profile newUserProfile(final Profile profile) {
-        return profileService.newUserProfile(profile);
-    }
-
-    protected void saveForUser(final String name, final Profile profile) {
-        profileService.saveForUser(name, profile);
-    }
-
-    protected void saveAsDefault(final Profile profile) {
-        profileService.saveAsDefault(profile);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
index 1f54d2a..c31278f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
@@ -33,7 +33,6 @@
  * the current user while fixtures are being installed (eg so that a workflow
  * can be picked up midway through)</p></li>  
  * <li><p>specifying the {@link org.apache.isis.applib.fixtures.LogonFixture currently logged on} user once the fixtures have been installed</p></li>
- * <li><p>setting up objects within the persistent {@link org.apache.isis.applib.fixtures.UserProfileFixture user profile}</p></li>
  * </ul>
  * 
  * <p>

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java
index e5a7dd6..98adbb1 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java
@@ -20,9 +20,7 @@
 package org.apache.isis.applib.fixtures.switchuser;
 
 import java.util.List;
-
 import org.apache.isis.applib.fixtures.AbstractFixture;
-import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
 
 /**
  * Not intended to be used directly; decouples the {@link AbstractFixture},
@@ -32,8 +30,6 @@ import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
  * <p>
  * A suitable implementation is injected into {@link AbstractFixture} when
  * installed.
- * 
- * @see UserProfileService
  */
 public interface SwitchUserService {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.java
deleted file mode 100644
index 020e538..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.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.applib.fixtures.userprofile;
-
-import org.apache.isis.applib.fixtures.UserProfileFixture;
-import org.apache.isis.applib.fixtures.switchuser.SwitchUserService;
-import org.apache.isis.applib.profiles.Perspective;
-import org.apache.isis.applib.profiles.Profile;
-
-/**
- * Not intended to be used directly; decouples the {@link UserProfileFixture},
- * which needs to persist {@link Perspective}s, from the rest of the framework's
- * runtime.
- * 
- * <p>
- * A suitable implementation is injected into {@link UserProfileFixture} when
- * installed.
- * 
- * @see SwitchUserService
- */
-public interface UserProfileService {
-
-    Profile newUserProfile();
-
-    Profile newUserProfile(Profile profile);
-
-    void saveForUser(String name, Profile profile);
-
-    void saveAsDefault(Profile profile);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java
deleted file mode 100644
index c11a45a..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java
+++ /dev/null
@@ -1,34 +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.applib.fixtures.userprofile;
-
-import org.apache.isis.applib.fixtures.UserProfileFixture;
-
-/**
- * Not intended to be implemented directly; is implemented by
- * {@link UserProfileFixture}.
- * 
- * <p>
- * If using perspectives then subclass from {@link UserProfileFixture}.
- */
-public interface UserProfileServiceAware {
-
-    public void setService(UserProfileService perspectiveInstaller);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/package-info.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/package-info.java
deleted file mode 100644
index 26b413e..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Provides support for installing a user profile fixture.
- * 
- * <p>
- * Not expected to be used by domain objects, but decouples the fixtures from
- * the framework (which provides the implementation of {@link org.apache.isis.applib.fixtures.userprofile.UserProfileService}).
- */
-package org.apache.isis.applib.fixtures.userprofile;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java b/core/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java
deleted file mode 100644
index cd18bde..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java
+++ /dev/null
@@ -1,59 +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.applib.profiles;
-
-import org.apache.isis.applib.fixtures.UserProfileFixture;
-
-/**
- * Domain object representing a particular perspective on the services or
- * objects available to a logged-in user.
- * 
- * <p>
- * The word "perspective" is used here in a similar sense to the Eclipse IDE,
- * meaning a configuration of objects. You might also think of it as the user's
- * desktop (though that metaphor only makes sense with the DnD viewer).
- * 
- * <p>
- * Note that this type is an interface, not a class. The actual implementation
- * is provided by the framework itself.
- * 
- * <p>
- * {@link Perspective}s go together with {@link Profile}s: a {@link Profile} is
- * a container of multiple {@link Perspective}s. As such, {@link Perspective}s
- * can be created from {@link Profile}s; {@link Profile}s themselves are created
- * using the {@link UserProfileFixture} can be used. Thereafter the @{link
- * Profile} and its {@link Perspective}s are stored in a <tt>profilestore</tt>
- * (analogous to an object store).
- */
-public interface Perspective {
-
-    Object addToServices(Class<?> serviceClass);
-
-    void removeFromServices(Class<?> serviceClass);
-
-    void addToServices(Class<?>... serviceClasses);
-
-    void removeFromServices(Class<?>... serviceClasses);
-
-    void addGenericRepository(Class<?>... domainClasses);
-
-    void addToObjects(Object... object);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java b/core/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java
deleted file mode 100644
index 8ad67d4..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java
+++ /dev/null
@@ -1,49 +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.applib.profiles;
-
-import org.apache.isis.applib.fixtures.UserProfileFixture;
-
-/**
- * Domain object representing a collection of options or preferences for a user,
- * along with a set of {@link Perspective} s for that user.
- * 
- * <p>
- * Note that this type is an interface, not a class. The actual implementation
- * is provided by the framework itself.
- * 
- * <p>
- * {@link Perspective}s go together with {@link Profile}s: a {@link Profile} is
- * a container of multiple {@link Perspective}s. As such, {@link Perspective}s
- * can be created from {@link Profile}s; {@link Profile}s themselves are created
- * using the {@link UserProfileFixture} can be used. Thereafter the @{link
- * Profile} and its {@link Perspective}s are stored in a <tt>profilestore</tt>
- * (analogous to an object store).
- */
-public interface Profile {
-
-    void addToOptions(String name, String value);
-
-    Perspective newPerspective(String name);
-
-    void addToPerspectives(Perspective perspective);
-
-    Perspective getPerspective(String name);
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/integtestsupport/pom.xml
----------------------------------------------------------------------
diff --git a/core/integtestsupport/pom.xml b/core/integtestsupport/pom.xml
index 943da21..74aa99f 100644
--- a/core/integtestsupport/pom.xml
+++ b/core/integtestsupport/pom.xml
@@ -109,14 +109,9 @@
 
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-profilestore</artifactId>
+            <artifactId>isis-core-runtime</artifactId>
         </dependency>
 
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtime</artifactId>
-		</dependency>
-
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-wrapper</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemDefault.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemDefault.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemDefault.java
index 96a7525..70d0388 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemDefault.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemDefault.java
@@ -22,24 +22,21 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
-
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
-
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
 import org.apache.isis.core.metamodel.facetapi.ClassSubstitutorFactory;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
+import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
 import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistryDefault;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
 import org.apache.isis.core.objectstore.InMemoryPersistenceMechanismInstaller;
-import org.apache.isis.core.profilestore.InMemoryUserProfileStore;
-import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authentication.standard.AuthenticationManagerStandard;
 import org.apache.isis.core.runtime.authentication.standard.Authenticator;
@@ -54,7 +51,6 @@ import org.apache.isis.core.runtime.system.IsisSystemException;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
 import org.apache.isis.core.runtime.systemusinginstallers.IsisSystemAbstract;
 import org.apache.isis.core.runtime.transaction.facetdecorator.standard.StandardTransactionFacetDecorator;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
 import org.apache.isis.core.security.authentication.AuthenticatorBypass;
 import org.apache.isis.progmodels.dflt.JavaReflectorHelper;
 import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
@@ -141,8 +137,7 @@ public class IsisSystemDefault extends IsisSystemAbstract {
 
  
     /**
-     * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
-     * @return
+     * Optional hook method.
      */
     protected CollectionTypeRegistry obtainReflectorCollectionTypeRegistry() {
         return new CollectionTypeRegistryDefault();
@@ -150,24 +145,21 @@ public class IsisSystemDefault extends IsisSystemAbstract {
 
 
     /**
-     * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
-     * @return
+     * Optional hook method.
      */
     protected ProgrammingModel obtainReflectorProgrammingModel() {
         return new ProgrammingModelFacetsJava5();
     }
 
     /**
-     * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
-     * @return
+     * Optional hook method.
      */
     protected Set<FacetDecorator> obtainReflectorFacetDecoratorSet() {
         return Sets.newHashSet((FacetDecorator)new StandardTransactionFacetDecorator(getConfiguration()));
     }
 
     /**
-     * Optional hook method, called from {@link #obtainSpecificationLoaderSpi(DeploymentType, ClassSubstitutorFactory, MetaModelRefiner)}.
-     * @return
+     * Optional hook method.
      */
     protected MetaModelValidator obtainReflectorMetaModelValidator() {
         return new MetaModelValidatorDefault();
@@ -193,14 +185,6 @@ public class IsisSystemDefault extends IsisSystemAbstract {
     }
 
     /**
-     * The in-memory user profile store.
-     */
-    @Override
-    protected UserProfileStore obtainUserProfileStore() {
-        return new InMemoryUserProfileStore();
-    }
-
-    /**
      * The in-memory object store (unless overridden by {@link #obtainPersistenceMechanismInstaller(IsisConfiguration)}).
      */
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java
deleted file mode 100644
index 87a1fe7..0000000
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/UserProfileStoreStaticInMemory.java
+++ /dev/null
@@ -1,61 +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.integtestsupport.components;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-
-public class UserProfileStoreStaticInMemory implements UserProfileStore, DebuggableWithTitle {
-
-    private static final Map<String, UserProfile> profiles = new HashMap<String, UserProfile>();
-
-    @Override
-    public boolean isFixturesInstalled() {
-        return false;
-    }
-
-    @Override
-    public UserProfile getUserProfile(final String name) {
-        return profiles.get(name);
-    }
-
-    @Override
-    public void save(final String name, final UserProfile userProfile) {
-        profiles.put(name, userProfile);
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        for (final String name : profiles.keySet()) {
-            debug.appendln(name, profiles.get(name));
-        }
-    }
-
-    @Override
-    public String debugTitle() {
-        return "InMemoryUserProfileStore";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/AnnotationInstaller.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/AnnotationInstaller.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/AnnotationInstaller.java
index 9f743ac..8748c16 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/AnnotationInstaller.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/AnnotationInstaller.java
@@ -91,6 +91,4 @@ public class AnnotationInstaller {
     }
     // }}
 
-    // new InMemoryUserProfileStoreInstaller();
-
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/IsisSystemUsingInstallersWithinJunit.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/IsisSystemUsingInstallersWithinJunit.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/IsisSystemUsingInstallersWithinJunit.java
index b223c22..b4bbc87 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/IsisSystemUsingInstallersWithinJunit.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/legacy/components/IsisSystemUsingInstallersWithinJunit.java
@@ -20,9 +20,7 @@
 package org.apache.isis.core.integtestsupport.legacy.components;
 
 import org.junit.internal.runners.TestClass;
-
 import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.profilestore.InMemoryUserProfileStoreInstaller;
 import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.systemusinginstallers.IsisSystemUsingInstallers;
@@ -46,8 +44,6 @@ public class IsisSystemUsingInstallersWithinJunit extends IsisSystemUsingInstall
 
             setPersistenceMechanismInstaller(getInstallerLookup().injectDependenciesInto(installer.addPersistorAnnotatedOn(this.testClass.getJavaClass())));
 
-            setUserProfileStoreInstaller(getInstallerLookup().injectDependenciesInto(new InMemoryUserProfileStoreInstaller()));
-
             // fixture installer
             final FixtureInstallerAnnotatedClass fixtureInstaller = new FixtureInstallerAnnotatedClass();
             fixtureInstaller.addFixturesAnnotatedOn(this.testClass.getJavaClass());

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 5e89265..b448cef 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -31,7 +31,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.isis.applib.filter.Filter;
 import org.apache.isis.applib.filter.Filters;
-import org.apache.isis.applib.profiles.Perspective;
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 import org.apache.isis.core.commons.exceptions.IsisException;
@@ -286,9 +285,6 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
 
     /**
      * Services are allowed to have one association, called 'id'.
-     * 
-     * <p>
-     * This is used for {@link Perspective}s (user profiles).
      */
     private boolean isValidAssociationForService(final String associationId) {
         return "id".indexOf(associationId) != -1;

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/Options.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/Options.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/Options.java
deleted file mode 100644
index a959889..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/Options.java
+++ /dev/null
@@ -1,113 +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.userprofile;
-
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Properties;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-
-public class Options implements DebuggableWithTitle {
-
-    private final Properties properties = new Properties();
-
-    public void addOption(final String name, final String value) {
-        properties.put(name, value);
-    }
-
-    public void addOptions(final String name, final Options options) {
-        properties.put(name, options);
-    }
-
-    public Iterator<String> names() {
-        final Enumeration<?> propertyNames = properties.propertyNames();
-        return new Iterator<String>() {
-            @Override
-            public boolean hasNext() {
-                return propertyNames.hasMoreElements();
-            }
-
-            @Override
-            public String next() {
-                return (String) propertyNames.nextElement();
-            }
-
-            @Override
-            public void remove() {
-                throw new UnsupportedOperationException();
-            }
-        };
-    }
-
-    public String getString(final String name) {
-        return properties.getProperty(name);
-    }
-
-    public String getString(final String name, final String defaultValue) {
-        return properties.getProperty(name, defaultValue);
-    }
-
-    public int getInteger(final String name, final int defaultValue) {
-        final String value = getString(name);
-        if (value == null) {
-            return defaultValue;
-        } else {
-            return Integer.valueOf(value).intValue();
-        }
-    }
-
-    public Options getOptions(final String name) {
-        Options options = (Options) properties.get(name);
-        if (options == null) {
-            options = new Options();
-            addOptions(name, options);
-        }
-        return options;
-    }
-
-    public boolean isOptions(final String name) {
-        return properties.get(name) instanceof Options;
-    }
-
-    public void copy(final Options options) {
-        properties.putAll(options.properties);
-    }
-
-    // ///////////////////////////////
-    // Debugging
-    // ///////////////////////////////
-
-    @Override
-    public String debugTitle() {
-        return "Options";
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        final Enumeration<Object> keys = properties.keys();
-        while (keys.hasMoreElements()) {
-            final String name = (String) keys.nextElement();
-            debug.appendln(name, properties.get(name));
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/OptionsClient.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/OptionsClient.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/OptionsClient.java
deleted file mode 100644
index 1234c00..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/OptionsClient.java
+++ /dev/null
@@ -1,27 +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.userprofile;
-
-public interface OptionsClient {
-
-    void loadOptions(Options viewOptions);
-
-    void saveOptions(Options viewOptions);
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/PerspectiveEntry.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/PerspectiveEntry.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/PerspectiveEntry.java
deleted file mode 100644
index 87c3764..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/PerspectiveEntry.java
+++ /dev/null
@@ -1,115 +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.userprofile;
-
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class PerspectiveEntry {
-
-    public PerspectiveEntry() {
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Name & Title
-    // ///////////////////////////////////////////////////////
-
-    private String name;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    public String getTitle() {
-        return name + " (" + services.size() + " classes)";
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Objects, save
-    // ///////////////////////////////////////////////////////
-
-    private final List<Object> objects = Lists.newArrayList();
-
-    // REVIEW should this deal with Isis, and the services with IDs (or Isis)
-    public List<Object> getObjects() {
-        return objects;
-    }
-
-    public void addToObjects(final Object obj) {
-        if (!objects.contains(obj)) {
-            objects.add(obj);
-        }
-    }
-
-    public void removeFromObjects(final Object obj) {
-        objects.remove(obj);
-    }
-
-    public void save(final List<ObjectAdapter> adapters) {
-        this.objects.clear();
-        for (final ObjectAdapter adapter : adapters) {
-            addToObjects(adapter.getObject());
-        }
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Services
-    // ///////////////////////////////////////////////////////
-
-    private final List<Object> services = Lists.newArrayList();
-
-    public List<Object> getServices() {
-        return services;
-    }
-
-    public void addToServices(final Object service) {
-        if (service != null && !services.contains(service)) {
-            services.add(service);
-        }
-    }
-
-    public void removeFromServices(final Object service) {
-        if (service != null && services.contains(service)) {
-            services.remove(service);
-        }
-    }
-
-    // ///////////////////////////////////////////////////////
-    // copy
-    // ///////////////////////////////////////////////////////
-
-    public void copy(final PerspectiveEntry template) {
-        name = template.getName();
-        for (final Object service : template.getServices()) {
-            addToServices(service);
-        }
-        for (final Object obj : template.getObjects()) {
-            addToObjects(obj);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserLocalization.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserLocalization.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserLocalization.java
deleted file mode 100644
index f61c5ce..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserLocalization.java
+++ /dev/null
@@ -1,46 +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.userprofile;
-
-import java.util.Locale;
-import java.util.TimeZone;
-
-import org.apache.isis.applib.profiles.Localization;
-
-public class UserLocalization implements Localization {
-
-    private final TimeZone timeZone;
-    private final Locale locale;
-
-    public UserLocalization(final Locale locale, final TimeZone timeZone) {
-        this.locale = locale == null ? Locale.getDefault() : locale;
-        this.timeZone = timeZone == null ? TimeZone.getDefault() : timeZone;
-    }
-
-    @Override
-    public Locale getLocale() {
-        return locale;
-    }
-
-    @Override
-    public TimeZone getTimeZone() {
-        return timeZone;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfile.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfile.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfile.java
deleted file mode 100644
index b0a755f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfile.java
+++ /dev/null
@@ -1,168 +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.userprofile;
-
-import java.util.Collections;
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-public class UserProfile implements DebuggableWithTitle {
-
-    public UserProfile() {
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Perspective
-    // ///////////////////////////////////////////////////////
-
-    private PerspectiveEntry entry;
-
-    public PerspectiveEntry getPerspective() {
-        if (entry == null) {
-            if (entries.size() == 0) {
-                throw new IsisException("No perspective in user profile");
-            } else {
-                entry = entries.get(0);
-            }
-        }
-        return entry;
-    }
-
-    public PerspectiveEntry newPerspective(final String name) {
-        entry = new PerspectiveEntry();
-        entry.setName(name);
-        entries.add(entry);
-        return entry;
-    }
-
-    public void removeCurrent() {
-        if (entries.size() > 1) {
-            entries.remove(entry);
-            entry = entries.get(0);
-        }
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Perspective Entries
-    // ///////////////////////////////////////////////////////
-
-    private final List<PerspectiveEntry> entries = Lists.newArrayList();
-
-    public PerspectiveEntry getPerspective(final String name) {
-        for (final PerspectiveEntry entry : entries) {
-            if (entry.getName().equals(name)) {
-                return entry;
-            }
-        }
-        throw new IsisException("No perspective " + name);
-    }
-
-    public void addToPerspectives(final PerspectiveEntry perspective) {
-        final PerspectiveEntry e = new PerspectiveEntry();
-        e.copy(perspective);
-        entries.add(e);
-    }
-
-    public List<String> list() {
-        final List<String> list = Lists.newArrayList();
-        for (final PerspectiveEntry entry : entries) {
-            list.add(entry.getName());
-        }
-        return list;
-    }
-
-    public void select(final String name) {
-        for (final PerspectiveEntry entry : entries) {
-            if (entry.getName().equals(name)) {
-                this.entry = entry;
-                break;
-            }
-        }
-    }
-
-    public void copy(final UserProfile template) {
-        for (final PerspectiveEntry entry : template.entries) {
-            final PerspectiveEntry e = new PerspectiveEntry();
-            e.copy(entry);
-            entries.add(e);
-        }
-        options.copy(template.getOptions());
-    }
-
-    /**
-     * Introduced for debugging.
-     */
-    public List<PerspectiveEntry> getEntries() {
-        return Collections.unmodifiableList(entries);
-    }
-
-    // ///////////////////////////////////////////////////////
-    // Options
-    // ///////////////////////////////////////////////////////
-
-    private final Options options = new Options();
-
-    public Options getOptions() {
-        return options;
-    }
-
-    public void addToOptions(final String name, final String value) {
-        options.addOption(name, value);
-    }
-
-    // ///////////////////////////////
-    // Localization
-    // ///////////////////////////////
-
-    private Localization localization;
-
-    public Localization getLocalization() {
-        return localization;
-    }
-
-    public void setLocalization(final Localization localization) {
-        this.localization = localization;
-    }
-
-    // ///////////////////////////////
-    // Save
-    // ///////////////////////////////
-
-    public void saveObjects(final List<ObjectAdapter> objects) {
-        entry.save(objects);
-    }
-
-    public String debugTitle() {
-        return "User Profle";
-    }
-    
-    public void debugData(DebugBuilder debug) {
-        debug.appendln("Localization", localization);
-        debug.appendln("Options", options);
-        debug.appendln("Entry", entry);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoader.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoader.java
deleted file mode 100644
index 3b37241..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileLoader.java
+++ /dev/null
@@ -1,78 +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.userprofile;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.components.ApplicationScopedComponent;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-
-/**
- * Intended to acts like a bridge, loading the profile from the underlying
- * store.
- * 
- * <p>
- * This is an interface only to make it easy to mock in tests. In practice there
- * is only a single implementation, {@link UserProfileLoaderDefault}.
- */
-public interface UserProfileLoader extends ApplicationScopedComponent {
-
-    // //////////////////////////////////////////////////////
-    // Fixtures
-    // //////////////////////////////////////////////////////
-
-    /**
-     * @see PersistenceSession#isFixturesInstalled()
-     */
-    public boolean isFixturesInstalled();
-
-    // //////////////////////////////////////////////////////
-    // saveAs...
-    // //////////////////////////////////////////////////////
-
-    public void saveAsDefault(UserProfile userProfile);
-
-    public void saveForUser(String userName, UserProfile userProfile);
-
-    // //////////////////////////////////////////////////////
-    // saveSession
-    // //////////////////////////////////////////////////////
-
-    public void saveSession(List<ObjectAdapter> objects);
-
-    // //////////////////////////////////////////////////////
-    // getProfile
-    // //////////////////////////////////////////////////////
-
-    public UserProfile getProfile(AuthenticationSession session);
-
-    @Deprecated
-    public UserProfile getProfile();
-
-    // //////////////////////////////////////////////////////
-    // Services
-    // //////////////////////////////////////////////////////
-
-    public void setServices(List<Object> servicesList);
-
-    public List<Object> getServices();
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStore.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStore.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStore.java
deleted file mode 100644
index 0ccc7ea..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/userprofile/UserProfileStore.java
+++ /dev/null
@@ -1,30 +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.userprofile;
-
-public interface UserProfileStore {
-
-    boolean isFixturesInstalled();
-
-    void save(String userName, UserProfile userProfile);
-
-    UserProfile getUserProfile(String userName);
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index bf65dc9..3cc58bc 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -1226,14 +1226,6 @@ ${license.additional-notes}
             </dependency>
 
 
-            <!-- profile store -->
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>isis-core-profilestore</artifactId>
-                <version>1.7.0-SNAPSHOT</version>
-            </dependency>
-
-
             <!-- TCK -->
             <dependency>
                 <groupId>org.apache.isis.core</groupId>
@@ -1946,8 +1938,6 @@ ${license.additional-notes}
         <module>objectstore-jdo-metamodel</module>
         <module>objectstore-jdo-datanucleus</module>
 
-        <module>profilestore-inmemory</module>
-
         <module>security-noop</module>
         <module>security-shiro</module>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/profilestore-inmemory/pom.xml
----------------------------------------------------------------------
diff --git a/core/profilestore-inmemory/pom.xml b/core/profilestore-inmemory/pom.xml
deleted file mode 100644
index c152a57..0000000
--- a/core/profilestore-inmemory/pom.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.core</groupId>
-		<artifactId>isis</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-core-profilestore</artifactId>
-	<name>Isis Core (In-memory) ProfileStore</name>
-
-	<properties>
-        <siteBaseDir>..</siteBaseDir>
-		<relativeUrl>profilestore-inmemory/</relativeUrl>
-	</properties>
-
-    <!-- used in Site generation for relative references. -->
-    <url>http://isis.apache.org/${relativeUrl}</url>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <inherited>false</inherited>
-                <configuration>
-                	<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <inherited>false</inherited>
-                        <reports>
-                            <report>dependencies</report>
-                            <report>dependency-convergence</report>
-                            <report>plugins</report>
-                            <report>summary</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-unittestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-metamodel</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		</dependency>
-		<dependency>
-		    <groupId>org.apache.isis.core</groupId>
-		    <artifactId>isis-core-runtime</artifactId>
-		    <type>test-jar</type>
-		    <scope>test</scope>
-		</dependency>
-	</dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java
----------------------------------------------------------------------
diff --git a/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java b/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java
deleted file mode 100644
index 477ef6c..0000000
--- a/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStore.java
+++ /dev/null
@@ -1,61 +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.profilestore;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.debug.DebuggableWithTitle;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-
-public class InMemoryUserProfileStore implements UserProfileStore, DebuggableWithTitle {
-
-    private static final Map<String, UserProfile> profiles = new HashMap<String, UserProfile>();
-
-    @Override
-    public boolean isFixturesInstalled() {
-        return false;
-    }
-
-    @Override
-    public UserProfile getUserProfile(final String name) {
-        return profiles.get(name);
-    }
-
-    @Override
-    public void save(final String name, final UserProfile userProfile) {
-        profiles.put(name, userProfile);
-    }
-
-    @Override
-    public void debugData(final DebugBuilder debug) {
-        for (final String name : profiles.keySet()) {
-            debug.appendln(name, profiles.get(name));
-        }
-    }
-
-    @Override
-    public String debugTitle() {
-        return "InMemoryUserProfileStore";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.java
----------------------------------------------------------------------
diff --git a/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.java b/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.java
deleted file mode 100644
index 5dbba1c..0000000
--- a/core/profilestore-inmemory/src/main/java/org/apache/isis/core/profilestore/InMemoryUserProfileStoreInstaller.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.profilestore;
-
-import java.util.List;
-
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.userprofile.UserProfileStore;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
-
-public class InMemoryUserProfileStoreInstaller extends InstallerAbstract implements UserProfileStoreInstaller {
-
-    public InMemoryUserProfileStoreInstaller() {
-        super(UserProfileStoreInstaller.TYPE, "in-memory");
-    }
-
-    @Override
-    public UserProfileStore createUserProfileStore(final IsisConfiguration objectConfiguration) {
-        return new InMemoryUserProfileStore();
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(UserProfileStore.class);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerDelegate.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerDelegate.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerDelegate.java
index 4011b3e..9dd3556 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerDelegate.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerDelegate.java
@@ -22,16 +22,12 @@ package org.apache.isis.core.runtime.fixtures;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.apache.isis.applib.fixtures.CompositeFixture;
 import org.apache.isis.applib.fixtures.FixtureType;
 import org.apache.isis.applib.fixtures.InstallableFixture;
 import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
-import org.apache.isis.applib.fixtures.userprofile.UserProfileServiceAware;
 import org.apache.isis.core.commons.lang.ObjectExtensions;
 import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
 import org.apache.isis.core.runtime.system.DeploymentType;
@@ -55,7 +51,6 @@ public class FixturesInstallerDelegate {
 
     protected final List<Object> fixtures = new ArrayList<Object>();
     private final SwitchUserServiceImpl switchUserService = new SwitchUserServiceImpl();
-    private final UserProfileService perspectivePersistenceService = new ProfileServiceImpl();
 
     private final PersistenceSession persistenceSession;
 
@@ -204,10 +199,6 @@ public class FixturesInstallerDelegate {
 
     private void installFixture(final Object fixture) {
         switchUserService.injectInto(fixture);
-        if (fixture instanceof UserProfileServiceAware) {
-            final UserProfileServiceAware serviceAware = (UserProfileServiceAware) fixture;
-            serviceAware.setService(perspectivePersistenceService);
-        }
 
         if (fixture instanceof InstallableFixture) {
             final InstallableFixture installableFixture = (InstallableFixture) fixture;
@@ -227,10 +218,6 @@ public class FixturesInstallerDelegate {
             return !IsisContext.getPersistenceSession().isFixturesInstalled();
         }
 
-        if (fixtureType == FixtureType.USER_PROFILES) {
-            return !IsisContext.getUserProfileLoader().isFixturesInstalled();
-        }
-
         // fixtureType is OTHER; always install.
         return true;
     }
@@ -262,7 +249,7 @@ public class FixturesInstallerDelegate {
      * The {@link LogonFixture}, if any.
      * 
      * <p>
-     * Used to automatically logon if in {@link DeploymentType#PROTOTYPE} mode.
+     * Used to automatically logon if in {@link DeploymentType#SERVER_PROTOTYPE} mode.
      */
     public LogonFixture getLogonFixture() {
         return logonFixture;

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/ProfileServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/ProfileServiceImpl.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/ProfileServiceImpl.java
deleted file mode 100644
index 990a03f..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/ProfileServiceImpl.java
+++ /dev/null
@@ -1,181 +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.userprofile.UserProfileService;
-import org.apache.isis.applib.fixtures.userprofile.UserProfileServiceAware;
-import org.apache.isis.applib.profiles.Perspective;
-import org.apache.isis.applib.profiles.Profile;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
-import org.apache.isis.core.runtime.userprofile.UserProfile;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
-
-public class ProfileServiceImpl implements UserProfileService {
-
-    @Override
-    public Profile newUserProfile() {
-        return new ProfileImpl();
-    }
-
-    @Override
-    public Profile newUserProfile(final Profile profileTemplate) {
-        return new ProfileImpl((ProfileImpl) profileTemplate);
-    }
-
-    @Override
-    public void saveAsDefault(final Profile profile) {
-        getUserProfileLoader().saveAsDefault(createUserProfile(profile));
-    }
-
-    @Override
-    public void saveForUser(final String name, final Profile profile) {
-        getUserProfileLoader().saveForUser(name, createUserProfile(profile));
-    }
-
-    private UserProfile createUserProfile(final Profile profile) {
-        return ((ProfileImpl) profile).getUserProfile();
-    }
-
-    public void injectInto(final Object fixture) {
-        if (fixture instanceof UserProfileServiceAware) {
-            final UserProfileServiceAware serviceAware = (UserProfileServiceAware) fixture;
-            serviceAware.setService(this);
-        }
-    }
-
-    private static UserProfileLoader getUserProfileLoader() {
-        return IsisContext.getUserProfileLoader();
-    }
-
-}
-
-class ProfileImpl implements Profile {
-    private final UserProfile userProfile;
-
-    public ProfileImpl(final ProfileImpl profileTemplate) {
-        this();
-        userProfile.copy(profileTemplate.userProfile);
-    }
-
-    public ProfileImpl() {
-        userProfile = new UserProfile();
-    }
-
-    public UserProfile getUserProfile() {
-        return userProfile;
-    }
-
-    @Override
-    public void addToOptions(final String name, final String value) {
-        userProfile.addToOptions(name, value);
-    }
-
-    @Override
-    public void addToPerspectives(final Perspective perspective) {
-        userProfile.addToPerspectives(((PerspectiveImpl) perspective).getPerspectiveEntry());
-    }
-
-    @Override
-    public Perspective getPerspective(final String name) {
-        final PerspectiveEntry perspectiveEntry = userProfile.getPerspective(name);
-        if (perspectiveEntry == null) {
-            throw new IsisException("No perspective found for " + name);
-        }
-        return new PerspectiveImpl(perspectiveEntry);
-    }
-
-    @Override
-    public Perspective newPerspective(final String name) {
-        final PerspectiveEntry perspectiveEntry = userProfile.newPerspective(name);
-        return new PerspectiveImpl(perspectiveEntry);
-    }
-
-}
-
-class PerspectiveImpl implements Perspective {
-    private final PerspectiveEntry entry;
-
-    public PerspectiveImpl(final PerspectiveEntry perspectiveEntry) {
-        entry = perspectiveEntry;
-    }
-
-    public PerspectiveEntry getPerspectiveEntry() {
-        return entry;
-    }
-
-    @Override
-    public void addGenericRepository(final Class<?>... classes) {
-        for (final Class<?> cls : classes) {
-            final Object service = getPersistenceSession().getService("repository#" + cls.getName()).getObject();
-            entry.addToServices(service);
-        }
-    }
-
-    @Override
-    public void addToObjects(final Object... objects) {
-        for (final Object object : objects) {
-            entry.addToObjects(object);
-        }
-    }
-
-    @Override
-    public Object addToServices(final Class<?> serviceType) {
-        final Object service = findService(serviceType);
-        entry.addToServices(service);
-        return service;
-    }
-
-    @Override
-    public void removeFromServices(final Class<?> serviceType) {
-        final Object service = findService(serviceType);
-        entry.removeFromServices(service);
-    }
-
-    private Object findService(final Class<?> serviceType) {
-        for (final Object service : IsisContext.getServices()) {
-            if (service.getClass().isAssignableFrom(serviceType)) {
-                return service;
-            }
-        }
-        throw new IsisException("No service of type " + serviceType.getName());
-    }
-
-    @Override
-    public void addToServices(final Class<?>... classes) {
-        for (final Class<?> cls : classes) {
-            addToServices(cls);
-        }
-    }
-
-    @Override
-    public void removeFromServices(final Class<?>... classes) {
-        for (final Class<?> cls : classes) {
-            removeFromServices(cls);
-        }
-    }
-
-    protected PersistenceSession getPersistenceSession() {
-        return IsisContext.getPersistenceSession();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/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 4346f58..a79a8ed 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
@@ -59,7 +59,6 @@ import org.apache.isis.core.runtime.system.IsisSystem;
 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 org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
 
 import static org.hamcrest.CoreMatchers.*;
 
@@ -212,11 +211,6 @@ public class InstallerLookup implements InstallerRepository, ApplicationScopedCo
         return getInstaller(PersistenceMechanismInstaller.class, requested, SystemConstants.OBJECT_PERSISTOR_KEY, persistorDefault);
     }
 
-    public UserProfileStoreInstaller userProfilePersistenceMechanismInstaller(final String requested, final DeploymentType deploymentType) {
-        final String profileStoreDefault = deploymentType.isExploring() || deploymentType.isPrototyping() ? SystemConstants.USER_PROFILE_STORE_NON_PRODUCTION_DEFAULT : SystemConstants.USER_PROFILE_STORE_PRODUCTION_DEFAULT;
-        return getInstaller(UserProfileStoreInstaller.class, requested, SystemConstants.USER_PROFILE_STORE_KEY, profileStoreDefault);
-    }
-
     public ServicesInstaller servicesInstaller(final String requestedImplementationName) {
         return getInstaller(ServicesInstaller.class, requestedImplementationName, SystemConstants.SERVICES_INSTALLER_KEY, SystemConstants.SERVICES_INSTALLER_DEFAULT);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
index 8bd65c5..7b512db 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
@@ -23,7 +23,6 @@ import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
 import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
 import org.apache.isis.core.runtime.logging.LoggingConstants;
 import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.userprofile.UserProfileStoreInstaller;
 
 public final class Constants {
 
@@ -42,9 +41,6 @@ public final class Constants {
     public static final String OBJECT_PERSISTENCE_OPT = "r";
     public static final String OBJECT_PERSISTENCE_LONG_OPT = PersistenceMechanismInstaller.TYPE;
 
-    public static final String USER_PROFILE_STORE_OPT = "e";
-    public static final String USER_PROFILE_STORE_LONG_OPT = UserProfileStoreInstaller.TYPE;
-
     public static final String CONFIGURATION_OPT = "c";
     public static final String CONFIGURATION_LONG_OPT = "config";
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e8c66fba/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
index ab5d495..4367e0b 100644
--- 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
@@ -226,9 +226,7 @@ public class IsisRunner {
         addOptionHandler(new OptionHandlerConfiguration());
 
         addOptionHandler(new OptionHandlerPersistor(installerLookup));
-
         addOptionHandler(new OptionHandlerReflector(installerLookup));
-        addOptionHandler(new OptionHandlerUserProfileStore(installerLookup));
 
         addOptionHandler(new OptionHandlerFixture());
         addOptionHandler(new OptionHandlerNoSplash());