You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/10/14 08:40:12 UTC

[isis] branch v2 updated: ISIS-2158: remove some references to conf-legacy where no longer used

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/v2 by this push:
     new 7088ce8  ISIS-2158: remove some references to conf-legacy where no longer used
7088ce8 is described below

commit 7088ce895d44851512dc98eae34a95a627a6bb03
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Oct 14 10:39:59 2019 +0200

    ISIS-2158: remove some references to conf-legacy where no longer used
---
 .../apache/isis/commons/internal/_Constants.java   |  24 ++--
 .../commons/internal/exceptions/_Exceptions.java   |  21 ++++
 .../adapter/concurrency/ConcurrencyChecking.java   | 124 ---------------------
 .../annotation/SortedByFacetAnnotationFactory.java |   2 +-
 ...ObjectLayoutAnnotationUsingCssClassUiEvent.java |   2 -
 ...wModelLayoutAnnotationUsingCssClassUiEvent.java |   2 -
 .../DomainObjectLayoutFacetFactory.java            |  16 +--
 ...mainObjectLayoutAnnotationUsingIconUiEvent.java |   2 -
 ...aViewModelLayoutAnnotationUsingIconUiEvent.java |   1 -
 ...inObjectLayoutAnnotationUsingLayoutUiEvent.java |   2 -
 ...iewModelLayoutAnnotationUsingLayoutUiEvent.java |   2 -
 ...ainObjectLayoutAnnotationUsingTitleUiEvent.java |   2 -
 ...ViewModelLayoutAnnotationUsingTitleUiEvent.java |   5 +-
 .../annotation/TitleFacetViaTitleAnnotation.java   |   6 +-
 .../title/methods/TitleFacetViaTitleMethod.java    |   6 +-
 .../value/annotcfg/ValueFacetAnnotation.java       |   9 +-
 ...ValueFacetAnnotationOrConfigurationFactory.java |  16 ++-
 .../value/vsp/ValueSemanticsProviderUtil.java      |  30 +++--
 .../runtime/system/session/IsisSessionFactory.java |   3 -
 19 files changed, 93 insertions(+), 182 deletions(-)

diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/_Constants.java b/core/commons/src/main/java/org/apache/isis/commons/internal/_Constants.java
index 5cb48ed..53e4f33 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/_Constants.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/_Constants.java
@@ -20,6 +20,8 @@
 package org.apache.isis.commons.internal;
 
 import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
 import java.io.Writer;
 import java.lang.annotation.Annotation;
 
@@ -67,23 +69,29 @@ public final class _Constants {
     public static final Annotation[] emptyAnnotations = new Annotation[0];
 
     /**
-     * writer that does nothing
+     * Writer that does nothing
      */
     public static final Writer nopWriter = new Writer() {
         @Override public void write(char[] cbuf, int off, int len) throws IOException { }
         @Override public void flush() throws IOException { }
         @Override public void close() throws IOException { }
     };
+
+    /**
+     * OutputStream that does nothing
+     */
+    public static final OutputStream nopOutputStream = new OutputStream() {
+        @Override public void write(int b) throws IOException { }
+    };
+    
+    /**
+     * PrintStream that does nothing
+     */
+    public static final PrintStream nopPrintStream = new PrintStream(nopOutputStream);
     
     @Primary private static final class PrimaryAnnotated {}
     public static final Primary ANNOTATION_PRIMARY = PrimaryAnnotated.class.getAnnotation(Primary.class);
-    
-//    public static final Primary ANNOTATION_PRIMARY = new Primary() {
-//        @Override
-//        public Class<? extends Annotation> annotationType(){
-//            return Primary.class;
-//        }
-//    };
+
     
     
 
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java b/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java
index 734302c..255998c 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java
@@ -37,6 +37,8 @@ import org.apache.isis.commons.internal.functions._Functions;
 import static org.apache.isis.commons.internal.base._NullSafe.stream;
 import static org.apache.isis.commons.internal.base._With.requires;
 
+import lombok.val;
+
 /**
  * <h1>- internal use only -</h1>
  * <p>
@@ -244,6 +246,23 @@ public final class _Exceptions {
     public static Throwable getRootCause(@Nullable Throwable ex) {
         return _Lists.lastElementIfAny(getCausalChain(ex));
     }
+    
+    // -- SWALLOW
+    
+    public static void silence(Runnable runnable) {
+        
+        val currentThread = Thread.currentThread();
+        val silencedHandler = currentThread.getUncaughtExceptionHandler();
+        
+        currentThread.setUncaughtExceptionHandler((Thread t, Throwable e)->{/*noop*/});
+        
+        try {
+            runnable.run();
+        } finally {
+            currentThread.setUncaughtExceptionHandler(silencedHandler);
+        }
+        
+    }
 
     // -- FLUENT EXCEPTION
 
@@ -356,4 +375,6 @@ public final class _Exceptions {
 
 
 
+
+
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/concurrency/ConcurrencyChecking.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/concurrency/ConcurrencyChecking.java
deleted file mode 100644
index b146f18..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/concurrency/ConcurrencyChecking.java
+++ /dev/null
@@ -1,124 +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.metamodel.adapter.concurrency;
-
-import java.util.concurrent.Callable;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.config.IsisConfigurationLegacy;
-
-@Deprecated //TODO[2154] remove
-enum ConcurrencyChecking {
-    NO_CHECK,
-    CHECK;
-
-    public static boolean isGloballyDisabled(IsisConfigurationLegacy configuration) {
-        final boolean concurrencyCheckingGloballyDisabled =
-                configuration.getBoolean("isis.persistor.disableConcurrencyChecking", false);
-        return concurrencyCheckingGloballyDisabled;
-    }
-
-
-    @Programmatic
-    public boolean isChecking() {
-        return this == CHECK;
-    }
-
-    public static ConcurrencyChecking concurrencyCheckingFor(SemanticsOf actionSemantics) {
-        return actionSemantics.isSafeInNature()
-                ? ConcurrencyChecking.NO_CHECK
-                        : ConcurrencyChecking.CHECK;
-    }
-
-    /**
-     * Provides a mechanism to temporarily disable concurrency checking.
-     *
-     * <p>
-     * A {@link ThreadLocal} is used because typically there is JDO/DataNucleus code between the Isis code
-     * that wishes to disable the concurrency checking and the code (an Isis callback) that needs to
-     * check if checking has been disabled.
-     */
-    private static ThreadLocal<ConcurrencyChecking> concurrencyChecking = new ThreadLocal<ConcurrencyChecking>(){
-        @Override
-        protected ConcurrencyChecking initialValue() {
-            return CHECK;
-        };
-    };
-
-    /**
-     * Whether concurrency checking is currently enabled or disabled.
-     */
-    public static boolean isCurrentlyEnabled() {
-        return concurrencyChecking.get().isChecking();
-    }
-
-    /**
-     * Allows a caller to temporarily disable concurrency checking for the current thread.
-     */
-    public static <T> T executeWithConcurrencyCheckingDisabled(final Callable<T> callable) {
-        ConcurrencyChecking prior = null;
-        try {
-            prior = disable();
-            return callable.call();
-        } catch(Exception ex) {
-            throw new RuntimeException(ex);
-        } finally {
-            reset(prior);
-        }
-    }
-
-    /**
-     * Recommended instead to call {@link #executeWithConcurrencyCheckingDisabled(Runnable)} or {@link #executeWithConcurrencyCheckingDisabled(Callable)}.
-     *
-     * <p>
-     *     If this method is used, then make sure to call {@link #reset(ConcurrencyChecking)} afterwards, using the value returned by this method.
-     * </p>
-     *
-     * @return the value of the {@link ConcurrencyChecking} thread-local prior to disabling it (to allow for nested calls).
-     */
-    public static ConcurrencyChecking disable() {
-        final ConcurrencyChecking prior = ConcurrencyChecking.concurrencyChecking.get();
-        ConcurrencyChecking.concurrencyChecking.set(ConcurrencyChecking.NO_CHECK);
-        return prior;
-    }
-
-    public static void reset(ConcurrencyChecking prior) {
-        if(prior == null) {
-            return;
-        }
-        ConcurrencyChecking.concurrencyChecking.set(prior);
-    }
-
-    /**
-     * Allows a caller to temporarily disable concurrency checking for the current thread.
-     */
-    public static void executeWithConcurrencyCheckingDisabled(final Runnable runnable) {
-        final ConcurrencyChecking prior = ConcurrencyChecking.concurrencyChecking.get();
-        try {
-            disable();
-            runnable.run();
-        } finally {
-            ConcurrencyChecking.concurrencyChecking.set(prior);
-        }
-    }
-
-
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java
index b2733b9..b4f52ae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java
@@ -37,7 +37,7 @@ import org.apache.isis.metamodel.specloader.validator.MetaModelValidatorVisiting
 
 /**
  * There is no check that the value is a {@link Comparator}; instead this is done through
- * the {@link #refineMetaModelValidator(MetaModelValidatorComposite, IsisConfigurationLegacy)}.
+ * the {@link #refineMetaModelValidator(MetaModelValidatorComposite)}.
  */
 public class SortedByFacetAnnotationFactory extends FacetFactoryAbstract
 implements MetaModelRefiner {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
index 1bf0e04..dcc949f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.events.ui.CssClassUiEvent;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -44,7 +43,6 @@ implements CssClassFacet {
     public static Facet create(
             final Optional<DomainObjectLayout> domainObjectLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
             final IsisConfiguration configuration,
             final FacetHolder facetHolder) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java
index bee2678..e4a4e04 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.applib.events.ui.CssClassUiEvent;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -43,7 +42,6 @@ CssClassFacet {
     public static Facet create(
             final Optional<ViewModelLayout> viewModelLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
             final IsisConfiguration configuration,
             final FacetHolder facetHolder) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
index caf61d3..147f6c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
@@ -43,31 +43,31 @@ public class DomainObjectLayoutFacetFactory extends FacetFactoryAbstract {
 
         FacetUtil.addFacet(
                 TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.create(
-                        domainObjectLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration(), facetHolder));
+                        domainObjectLayoutIfAny, metamodelEventService, getConfiguration(), facetHolder));
         FacetUtil.addFacet(
                 TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.create(
-                        viewModelLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration(), facetHolder));
+                        viewModelLayoutIfAny, metamodelEventService, getConfiguration(), facetHolder));
 
         FacetUtil.addFacet(
                 IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.create(
-                        domainObjectLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration(), facetHolder));
+                        domainObjectLayoutIfAny, metamodelEventService, getConfiguration(), facetHolder));
         FacetUtil.addFacet(
                 IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.create(
-                        viewModelLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration(), facetHolder));
+                        viewModelLayoutIfAny, metamodelEventService, getConfiguration(), facetHolder));
 
         FacetUtil.addFacet(
                 CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.create(
-                        domainObjectLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration(), facetHolder));
+                        domainObjectLayoutIfAny, metamodelEventService, getConfiguration(), facetHolder));
         FacetUtil.addFacet(
                 CssClassFacetViaViewModelLayoutAnnotationUsingCssClassUiEvent.create(
-                        viewModelLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration(), facetHolder));
+                        viewModelLayoutIfAny, metamodelEventService, getConfiguration(), facetHolder));
 
         FacetUtil.addFacet(
                 LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.create(
-                        domainObjectLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration(), facetHolder));
+                        domainObjectLayoutIfAny, metamodelEventService, getConfiguration(), facetHolder));
         FacetUtil.addFacet(
                 LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.create(
-                        viewModelLayoutIfAny, metamodelEventService, getConfigurationLegacy(), getConfiguration() , facetHolder));
+                        viewModelLayoutIfAny, metamodelEventService, getConfiguration() , facetHolder));
 
         FacetUtil.addFacet(
                 CssClassFacetForDomainObjectLayoutAnnotation.create(domainObjectLayoutIfAny, facetHolder));
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
index 8869a35..cda77d8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.events.ui.IconUiEvent;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.icon.IconFacet;
@@ -41,7 +40,6 @@ public class IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent extends Ic
     public static Facet create(
             final Optional<DomainObjectLayout> domainObjectLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
             final IsisConfiguration configuration,
             final FacetHolder facetHolder) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java
index 2b71eea..bd698f1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent.java
@@ -41,7 +41,6 @@ public class IconFacetViaViewModelLayoutAnnotationUsingIconUiEvent extends IconF
     public static Facet create(
             final Optional<ViewModelLayout> viewModelLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
             final IsisConfiguration configuration,
             final FacetHolder facetHolder) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
index a7844e5..1da5668 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
@@ -26,7 +26,6 @@ import org.apache.isis.applib.NonRecoverableException;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.events.ui.LayoutUiEvent;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.layout.LayoutFacet;
@@ -42,7 +41,6 @@ implements LayoutFacet {
     public static Facet create(
             final Optional<DomainObjectLayout> domainObjectLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
             final IsisConfiguration configuration,
             final FacetHolder facetHolder) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java
index e6ee9d6..db30a2b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/LayoutFacetViaViewModelLayoutAnnotationUsingLayoutUiEvent.java
@@ -26,7 +26,6 @@ import org.apache.isis.applib.NonRecoverableException;
 import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.applib.events.ui.LayoutUiEvent;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.layout.LayoutFacet;
@@ -42,7 +41,6 @@ implements LayoutFacet {
     public static Facet create(
             final Optional<ViewModelLayout> viewModelLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
             IsisConfiguration configuration, final FacetHolder facetHolder) {
 
         return viewModelLayoutIfAny
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
index 0b41825..11d8a48 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
@@ -29,7 +29,6 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.title.TitleFacet;
@@ -44,7 +43,6 @@ public class TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent extends
     public static Facet create(
             final Optional<DomainObjectLayout> domainObjectLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
             final IsisConfiguration configuration,
             final FacetHolder facetHolder) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java
index 956bed7..497f3fd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobjectlayout/TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent.java
@@ -29,7 +29,6 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.title.TitleFacet;
@@ -44,8 +43,8 @@ public class TitleFacetViaViewModelLayoutAnnotationUsingTitleUiEvent extends Tit
     public static Facet create(
             final Optional<ViewModelLayout> viewModelLayoutIfAny,
             final MetamodelEventService metamodelEventService,
-            final IsisConfigurationLegacy configurationLegacy,
-            final IsisConfiguration configuration, final FacetHolder facetHolder) {
+            final IsisConfiguration configuration, 
+            final FacetHolder facetHolder) {
 
         return viewModelLayoutIfAny
                 .map(ViewModelLayout::titleUiEvent)
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
index 527d6f4..e3d5307 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
@@ -27,6 +27,7 @@ import java.util.function.Function;
 import org.apache.isis.applib.annotation.Title;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
@@ -119,6 +120,7 @@ public class TitleFacetViaTitleAnnotation extends TitleFacetAbstract {
         return str.length() < maxLength ? str : str.substring(0, maxLength - 3) + "...";
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     public String title(ManagedObject contextAdapter, ManagedObject targetAdapter) {
         final StringBuilder stringBuilder = new StringBuilder();
@@ -151,7 +153,9 @@ public class TitleFacetViaTitleAnnotation extends TitleFacetAbstract {
 
             return stringBuilder.toString().trim();
         } catch (final RuntimeException ex) {
-            log.warn("Title failure", ex);
+            if(!IsisSystemEnvironment.get().isUnitTesting()) {
+                log.warn("Title failure", ex);    
+            }
             return "Failed Title";
         }
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java
index 9ccb5c0..5e1a869 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java
@@ -26,6 +26,7 @@ import java.util.Map;
 
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.ImperativeFacet;
@@ -62,6 +63,7 @@ public class TitleFacetViaTitleMethod extends TitleFacetAbstract implements Impe
         return Intent.UI_HINT;
     }
 
+    @SuppressWarnings("deprecation")
     @Override
     public String title(final ManagedObject owningAdapter) {
         try {
@@ -75,7 +77,9 @@ public class TitleFacetViaTitleMethod extends TitleFacetAbstract implements Impe
             }
             return null;
         } catch (final RuntimeException ex) {
-            log.warn("title failure", ex);
+            if(!IsisSystemEnvironment.get().isUnitTesting()) {
+                log.warn("Title failure", ex);    
+            }
             return "Failed Title";
         }
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java
index 2dd930b..b11f480 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java
@@ -21,20 +21,22 @@ package org.apache.isis.metamodel.facets.object.value.annotcfg;
 
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.value.ValueFacetAbstract;
 import org.apache.isis.metamodel.facets.object.value.vsp.ValueSemanticsProviderUtil;
 
 public class ValueFacetAnnotation extends ValueFacetAbstract {
 
-    private static String semanticsProviderName(final Class<?> annotatedClass) {
+    private static String semanticsProviderName(final IsisConfiguration config, final Class<?> annotatedClass) {
+        
         final Value annotation = annotatedClass.getAnnotation(Value.class);
         final String semanticsProviderName = annotation.semanticsProviderName();
         if (!_Strings.isNullOrEmpty(semanticsProviderName)) {
             return semanticsProviderName;
         }
         return ValueSemanticsProviderUtil
-                .semanticsProviderNameFromConfiguration(annotatedClass);
+                .semanticsProviderNameFromConfiguration(config, annotatedClass);
     }
 
     private static Class<?> semanticsProviderClass(final Class<?> annotatedClass) {
@@ -43,10 +45,11 @@ public class ValueFacetAnnotation extends ValueFacetAbstract {
     }
 
     public ValueFacetAnnotation(
+            final IsisConfiguration config,
             final Class<?> annotatedClass, 
             final FacetHolder holder) {
 
-        this(semanticsProviderName(annotatedClass), 
+        this(semanticsProviderName(config, annotatedClass), 
                 semanticsProviderClass(annotatedClass), holder);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
index 8663216..35b1bc0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
@@ -23,6 +23,8 @@ import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.config.IsisConfiguration;
+import org.apache.isis.metamodel.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetUtil;
 import org.apache.isis.metamodel.facetapi.FeatureType;
@@ -66,32 +68,36 @@ import org.apache.isis.metamodel.facets.object.value.vsp.ValueSemanticsProviderU
  */
 public class ValueFacetAnnotationOrConfigurationFactory extends FacetFactoryAbstract  {
 
-
     public ValueFacetAnnotationOrConfigurationFactory() {
         super(FeatureType.OBJECTS_ONLY);
     }
 
     @Override
-    public void process(final ProcessClassContext processClassContaxt) {
-        FacetUtil.addFacet(create(processClassContaxt.getCls(), processClassContaxt.getFacetHolder()));
+    public void process(final ProcessClassContext processClassContext) {
+        
+        FacetUtil.addFacet(create(processClassContext.getCls(), processClassContext.getFacetHolder()));
     }
 
     /**
      * Returns a {@link ValueFacet} implementation.
      */
     private ValueFacet create(final Class<?> cls, final FacetHolder holder) {
+        
+        IsisConfiguration config = MetaModelContext.current().getConfiguration();
 
         // create from annotation, if present
         final Value annotation = Annotations.getAnnotation(cls, Value.class);
         if (annotation != null) {
-            final ValueFacetAnnotation facet = new ValueFacetAnnotation(cls, holder);
+            final ValueFacetAnnotation facet = new ValueFacetAnnotation(config, cls, holder);
             if (facet.isValid()) {
                 return facet;
             }
         }
 
         // otherwise, try to create from configuration, if present
-        final String semanticsProviderName = ValueSemanticsProviderUtil.semanticsProviderNameFromConfiguration(cls);
+        final String semanticsProviderName = ValueSemanticsProviderUtil
+                .semanticsProviderNameFromConfiguration(config, cls);
+        
         if (!_Strings.isNullOrEmpty(semanticsProviderName)) {
             final ValueFacetFromConfiguration facet = new ValueFacetFromConfiguration(semanticsProviderName, holder);
             if (facet.isValid()) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/vsp/ValueSemanticsProviderUtil.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/vsp/ValueSemanticsProviderUtil.java
index 4715fcc..ff3de3c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/vsp/ValueSemanticsProviderUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/value/vsp/ValueSemanticsProviderUtil.java
@@ -21,8 +21,7 @@ package org.apache.isis.metamodel.facets.object.value.vsp;
 
 import org.apache.isis.applib.adapters.ValueSemanticsProvider;
 import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.config.IsisConfigurationLegacy;
-import org.apache.isis.config.internal._Config;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.metamodel.commons.ClassUtil;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 
@@ -36,26 +35,33 @@ public final class ValueSemanticsProviderUtil {
     public static final String SEMANTICS_PROVIDER_NAME_KEY_PREFIX = "isis.core.progmodel.value.";
     public static final String SEMANTICS_PROVIDER_NAME_KEY_SUFFIX = ".semanticsProviderName";
 
-    public static String semanticsProviderNameFromConfiguration(final Class<?> type) {
+    public static String semanticsProviderNameFromConfiguration(
+            final IsisConfiguration configuration, 
+            final Class<?> type) {
 
-        final IsisConfigurationLegacy configuration = _Config.getConfiguration();
-
-        final String key = SEMANTICS_PROVIDER_NAME_KEY_PREFIX + type.getCanonicalName() + SEMANTICS_PROVIDER_NAME_KEY_SUFFIX;
-        final String semanticsProviderName = configuration.getString(key);
+        final String key = 
+                SEMANTICS_PROVIDER_NAME_KEY_PREFIX + 
+                type.getCanonicalName() + 
+                SEMANTICS_PROVIDER_NAME_KEY_SUFFIX;
+        
+        final String semanticsProviderName = configuration.getEnvironment().getProperty(key);
         return !_Strings.isNullOrEmpty(semanticsProviderName) ? semanticsProviderName : null;
     }
 
 
-    public static Class<? extends ValueSemanticsProvider<?>> valueSemanticsProviderOrNull(final Class<?> candidateClass, final String classCandidateName) {
+    public static Class<? extends ValueSemanticsProvider<?>> valueSemanticsProviderOrNull(
+            final Class<?> candidateClass, 
+            final String classCandidateName) {
 
         final Class<? extends ValueSemanticsProvider<?>> clazz = candidateClass != null 
                 ? uncheckedCast(ClassUtil.implementingClassOrNull(
                         candidateClass.getName(), ValueSemanticsProvider.class, FacetHolder.class)) 
                         : null;
-                return clazz != null 
-                        ? clazz 
-                                : uncheckedCast(ClassUtil.implementingClassOrNull(
-                                        classCandidateName, ValueSemanticsProvider.class, FacetHolder.class));
+                
+        return clazz != null 
+                ? clazz 
+                        : uncheckedCast(ClassUtil.implementingClassOrNull(
+                                classCandidateName, ValueSemanticsProvider.class, FacetHolder.class));
     }
 
 }
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactory.java
index 1776786..8395914 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactory.java
@@ -24,11 +24,8 @@ import java.util.concurrent.Callable;
 import javax.inject.Inject;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
-import org.apache.isis.commons.internal.components.ApplicationScopedComponent;
-import org.apache.isis.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.runtime.system.internal.InitialisationSession;
 import org.apache.isis.security.authentication.AuthenticationSession;
-import org.apache.isis.security.authentication.manager.AuthenticationManager;
 
 /**
  * Is the factory of {@link IsisSession}s, also holding a reference to the current session using