This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch 2039-Redesign_of_Config in repository https://gitbox.apache.org/repos/asf/isis.git
commit 9a4fa65fb0fb54b15b3233ad73d3736f66311704 Author: Andi Huber <ahu...@apache.org> AuthorDate: Thu Nov 22 21:22:33 2018 +0100 ISIS-2039: simplify config access Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 --- .../isis/commons/internal/context/_Context.java | 41 ++++-- .../org/apache/isis/config/internal/_Config.java | 139 ++++++++++++++++----- .../config/internal/_Config_LifecycleResource.java | 52 ++++++++ .../internal/_Config_SupplierUsingBuilder.java | 21 ---- .../metamodel/facets/FacetFactoryAbstract.java | 2 +- .../facets/AbstractFacetFactoryJUnit4TestCase.java | 6 - .../action/ActionAnnotationFacetFactoryTest.java | 14 +-- .../ViewModelSemanticCheckingFacetFactoryTest.java | 6 +- .../object/defaults/DefaultedFacetFactoryTest.java | 19 ++- .../DomainObjectAnnotationFacetFactoryTest.java | 3 +- .../DomainObjectLayoutFactoryTest.java | 18 +-- ...eFacetAnnotationOrConfigurationFactoryTest.java | 13 +- .../PropertyAnnotationFacetFactoryTest.java | 4 +- .../BigDecimalValueSemanticsProviderTest.java | 4 +- .../value/BigIntValueSemanticsProviderTest.java | 4 +- .../value/ByteValueSemanticsProviderTest.java | 4 +- .../value/DoubleValueSemanticsProviderTest.java | 4 +- .../value/FloatValueSemanticsProviderTest.java | 4 +- .../value/IntValueSemanticsProviderTest.java | 11 +- .../JavaSqlDateValueSemanticsProviderTest.java | 4 +- .../JavaSqlTimeValueSemanticsProviderTest.java | 4 +- .../JavaUtilDateValueSemanticsProviderTest.java | 5 +- .../value/LongValueSemanticsProviderTest.java | 4 +- .../PercentageValueSemanticsProviderTest.java | 4 +- .../value/ShortValueSemanticsProviderTest.java | 4 +- .../ValueSemanticsProviderAbstractTestCase.java | 7 +- ...odaLocalDateTimeValueSemanticsProviderTest.java | 6 +- .../WrapperFactoryDefaultTest_wrappedObject.java | 6 +- .../WrapperFactoryDefaultTest_wrappedObject.java | 6 +- ...AuthenticatorOrAuthorizorTest_authenticate.java | 4 +- ...ticatorOrAuthorizorTest_isVisibleInAnyRole.java | 4 +- .../services/ServicesInstallerFromAnnotation.java | 6 +- .../ServicesInstallerFromConfiguration.java | 20 +-- 33 files changed, 266 insertions(+), 187 deletions(-) diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java b/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java index 2add9d9..e2888e1 100644 --- a/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java +++ b/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java @@ -26,11 +26,11 @@ import java.util.function.Function; import java.util.function.Supplier; import org.apache.isis.commons.internal.base._Casts; -import org.apache.isis.commons.internal.base._NullSafe; import org.apache.isis.commons.internal.collections._Lists; import org.apache.isis.core.plugins.environment.IsisSystemEnvironment; import org.apache.isis.core.plugins.environment.IsisSystemEnvironmentPlugin; +import static org.apache.isis.commons.internal.base._NullSafe.stream; import static org.apache.isis.commons.internal.base._With.ifPresentElseGet; import static org.apache.isis.commons.internal.base._With.ifPresentElseThrow; import static org.apache.isis.commons.internal.base._With.requires; @@ -159,6 +159,18 @@ public final class _Context { return ifPresentElseThrow(getIfAny(type), onNotFound); } + // -- REMOVAL + + public static void remove(Class<?> type) { + // let writes to the map be atomic + synchronized (singletonMap) { + singletonMap.remove(toKey(type)); + } + tryClose(type); + } + + // -- CLEARING + /** * Removes any singleton references from the current context. <br/> * Any singletons that implement the AutoClosable interface are being closed. @@ -175,16 +187,8 @@ public final class _Context { } private static void closeAnyClosables(List<Object> objects) { - _NullSafe.stream(objects) - .filter(singleton->singleton instanceof AutoCloseable) - .map(singleton->(AutoCloseable)singleton) - .forEach(autoCloseable->{ - try { - autoCloseable.close(); - } catch (Exception e) { - // [ahuber] nothing we can do here, so ignore - } - }); + stream(objects) + .forEach(_Context::tryClose); } // -- DEFAULT CLASSLOADER @@ -257,6 +261,21 @@ public final class _Context { private static String toKey(Class<?> type) { return type.getName(); } + + private static void tryClose(Object singleton) { + if(singleton==null) { + return; + } + if(singleton instanceof AutoCloseable) { + try { + ((AutoCloseable)singleton).close(); + } catch (Exception e) { + // [ahuber] nothing we can do here, so ignore + } + } + } + + diff --git a/core/config/src/main/java/org/apache/isis/config/internal/_Config.java b/core/config/src/main/java/org/apache/isis/config/internal/_Config.java index e890be7..d496998 100644 --- a/core/config/src/main/java/org/apache/isis/config/internal/_Config.java +++ b/core/config/src/main/java/org/apache/isis/config/internal/_Config.java @@ -18,57 +18,132 @@ */ package org.apache.isis.config.internal; -import java.util.function.Supplier; +import java.util.function.Consumer; +import java.util.function.Function; import org.apache.isis.commons.internal.context._Context; import org.apache.isis.core.commons.config.IsisConfiguration; import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; -import static org.apache.isis.commons.internal.base._With.mapIfPresentElse; -import static org.apache.isis.commons.internal.base._With.mapIfPresentElseThrow; -import static org.apache.isis.commons.internal.base._With.requires; - +/** + * @since 2.0.0-M2 + */ public class _Config { - // -- CONFIG SUPPLIER INTERFACE + // -- CONFIG ACCESS - @FunctionalInterface - public static interface ConfigSupplier extends Supplier<IsisConfiguration> { - + public static IsisConfiguration getConfiguration() { + return getLifecycleResource().getConfiguration(); } - // -- CONFIG RETRIEVAL + public static void acceptConfig(Consumer<IsisConfiguration> configConsumer) { + configConsumer.accept(getConfiguration()); + } - public static IsisConfiguration getConfiguration() { - final ConfigSupplier supplier = _Context.getIfAny(ConfigSupplier.class); - return mapIfPresentElse(supplier, ConfigSupplier::get, null); + public static <T> T applyConfig(Function<IsisConfiguration, T> configMapper) { + return configMapper.apply(getConfiguration()); } - public static IsisConfiguration getConfigurationElseThrow() { - final ConfigSupplier supplier = _Context.getOrThrow(ConfigSupplier.class, - ()->new IllegalStateException("No ConfigSupplier registered on current context.")); - - return mapIfPresentElseThrow(supplier, ConfigSupplier::get, - ()->new IllegalStateException("The ConfigSupplier registered on current context did return null.")); + // -- BUILDER ACCESS + + public static void acceptBuilder(Consumer<IsisConfigurationBuilder> builderConsumer) { + builderConsumer.accept(getConfigurationBuilder()); } - + + public static <T> T applyBuilder(Function<IsisConfigurationBuilder, T> builderMapper) { + return builderMapper.apply(getConfigurationBuilder()); + } + /** - * Sets the current context's configuration supplier via provided parameter. Will not override - * any ConfigSupplier instance, that is already registered with the current context, - * because the ConfigSupplier is expected to be a singleton within an application's - * life-cycle. + * Throws away any configuration resources currently on this life-cycle's context. + * Makes a new config builder singleton instance available. Most likely used for testing. */ - public static void registerConfigurationSupplierIfNotAlready(ConfigSupplier configSupplier) { - requires(configSupplier, "configSupplier"); - _Context.computeIfAbsent(ConfigSupplier.class, __->configSupplier); + public static void clear() { + _Context.remove(_Config_LifecycleResource.class); } - public static IsisConfigurationBuilder configurationBuilderForTesting() { - final IsisConfigurationBuilder builder = new IsisConfigurationBuilder(); - final ConfigSupplier configSupplier = new _Config_SupplierUsingBuilder(builder); - registerConfigurationSupplierIfNotAlready(configSupplier); - return builder; + // -- CONFIG SHORTCUTS + + + + // -- BUILDER SHORTCUTS + + public static void put(String key, String value) { + getConfigurationBuilder().put(key, value); + } + + public static void put(String key, boolean value) { + getConfigurationBuilder().put(key, ""+value); } + public static String peekAtString(String key) { + return getConfigurationBuilder().peekAtString(key); + } + + public static String peekAtString(String key, String defaultValue) { + return getConfigurationBuilder().peekAtString(key, defaultValue); + } + + public static boolean peekAtBoolean(String key) { + return getConfigurationBuilder().peekAtBoolean(key); + } + + public static boolean peekAtBoolean(String key, boolean defaultValue) { + return getConfigurationBuilder().peekAtBoolean(key, defaultValue); + } + + + // -- HELPER -- BUILDER + + private static IsisConfigurationBuilder getConfigurationBuilder() { + IsisConfigurationBuilder builder = getLifecycleResource().getBuilder() + .orElseThrow(_Config::configurationAlreadyInUse); + return builder; + } + + private static IsisConfigurationBuilder createBuilder() { + final IsisConfigurationBuilder builder = new IsisConfigurationBuilder(); + return builder; + } + + // -- HELPER -- LIFECYCLE + + private static _Config_LifecycleResource getLifecycleResource() { + final _Config_LifecycleResource lifecycle = + _Context.computeIfAbsent(_Config_LifecycleResource.class, __->createLifecycleResource()); + return lifecycle; + } + + private static _Config_LifecycleResource createLifecycleResource() { + return new _Config_LifecycleResource(createBuilder()); + } + + // -- HELPER -- EXCEPTIONS + + private static IllegalStateException configurationAlreadyInUse() { + return new IllegalStateException("The IsisConfigurationBuilder is no longer valid, because it has " + + "already built the IsisConfiguration for this application's life-cycle."); + } + + + +// /** +// * Sets the current context's configuration supplier via provided parameter. Will not override +// * any ConfigSupplier instance, that is already registered with the current context, +// * because the ConfigSupplier is expected to be a singleton within an application's +// * life-cycle. +// */ +// public static void registerConfigurationSupplierIfNotAlready(ConfigSupplier configSupplier) { +// requires(configSupplier, "configSupplier"); +// _Context.computeIfAbsent(ConfigSupplier.class, __->configSupplier); +// } +// +// public static IsisConfigurationBuilder configurationBuilderForTesting() { +// final IsisConfigurationBuilder builder = new IsisConfigurationBuilder(); +// final ConfigSupplier configSupplier = new _Config_SupplierUsingBuilder(builder); +// registerConfigurationSupplierIfNotAlready(configSupplier); +// return builder; +// } + } diff --git a/core/config/src/main/java/org/apache/isis/config/internal/_Config_LifecycleResource.java b/core/config/src/main/java/org/apache/isis/config/internal/_Config_LifecycleResource.java new file mode 100644 index 0000000..f260046 --- /dev/null +++ b/core/config/src/main/java/org/apache/isis/config/internal/_Config_LifecycleResource.java @@ -0,0 +1,52 @@ +/* + * 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.config.internal; + +import java.util.Optional; + +import org.apache.isis.commons.internal.base._Lazy; +import org.apache.isis.core.commons.config.IsisConfiguration; +import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; + +import static org.apache.isis.commons.internal.base._With.requires; + +class _Config_LifecycleResource { + + private final IsisConfigurationBuilder builder; + private final _Lazy<IsisConfiguration> configuration; + + _Config_LifecycleResource(final IsisConfigurationBuilder builder) { + requires(builder, "builder"); + this.builder = builder; + this.configuration = _Lazy.threadSafe(builder::build); + } + + IsisConfiguration getConfiguration() { + return configuration.get(); + } + + Optional<IsisConfigurationBuilder> getBuilder() { + if(!configuration.isMemoized()) { + return Optional.of(builder); + } + return Optional.empty(); + } + + +} diff --git a/core/config/src/main/java/org/apache/isis/config/internal/_Config_SupplierUsingBuilder.java b/core/config/src/main/java/org/apache/isis/config/internal/_Config_SupplierUsingBuilder.java deleted file mode 100644 index 8fdd534..0000000 --- a/core/config/src/main/java/org/apache/isis/config/internal/_Config_SupplierUsingBuilder.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.apache.isis.config.internal; - -import org.apache.isis.commons.internal.base._Lazy; -import org.apache.isis.config.internal._Config.ConfigSupplier; -import org.apache.isis.core.commons.config.IsisConfiguration; -import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; - -class _Config_SupplierUsingBuilder implements ConfigSupplier { - - final _Lazy<IsisConfiguration> configuration; - - _Config_SupplierUsingBuilder(IsisConfigurationBuilder builder) { - configuration = _Lazy.of(builder::build); - } - - @Override - public IsisConfiguration get() { - return configuration.get(); - } - -} diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java index 656e2e4..f632b49 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java @@ -76,7 +76,7 @@ public abstract class FacetFactoryAbstract implements FacetFactory, ServicesInje } protected IsisConfiguration getConfiguration() { - return _Config.getConfigurationElseThrow(); + return _Config.getConfiguration(); } diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java index f764fbc..63fe365 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java @@ -100,12 +100,6 @@ public abstract class AbstractFacetFactoryJUnit4TestCase { } } - protected IsisConfigurationBuilder resetConfig() { - _Context.clear(); - return _Config.configurationBuilderForTesting(); - } - - @Before public void setUpFacetedMethodAndParameter() throws Exception { diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java index b94af93..e532ebd 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java @@ -38,6 +38,7 @@ import org.apache.isis.applib.annotation.SemanticsOf; import org.apache.isis.applib.annotation.Where; import org.apache.isis.applib.events.domain.ActionDomainEvent; import org.apache.isis.applib.services.HasUniqueId; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider; import org.apache.isis.core.metamodel.facetapi.Facet; import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase; @@ -162,8 +163,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4 allowingLoadSpecificationRequestsFor(cls, actionMethod.getReturnType()); expectRemoveMethod(actionMethod); - resetConfig() - .put("isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", "true"); + _Config.put("isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", true); // when final ProcessMethodContext processMethodContext = new ProcessMethodContext( @@ -283,8 +283,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4 allowingLoadSpecificationRequestsFor(cls, actionMethod.getReturnType()); expectRemoveMethod(actionMethod); - resetConfig() - .put("isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", "true"); + _Config.put("isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", true); // when final ProcessMethodContext processMethodContext = new ProcessMethodContext( @@ -1156,12 +1155,11 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4 } void allowingCommandConfigurationToReturn(final String value) { - resetConfig() - .put("isis.services.command.actions", value); + _Config.put("isis.services.command.actions", value); } + void allowingPublishingConfigurationToReturn(final String value) { - resetConfig() - .put("isis.services.publish.actions", value); + _Config.put("isis.services.publish.actions", value); } } diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java index b1def4c..6f20bf6 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java @@ -25,7 +25,6 @@ import org.junit.Test; import org.apache.isis.applib.RecreatableDomainObject; import org.apache.isis.applib.annotation.Nature; -import org.apache.isis.commons.internal.context._Context; import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facets.FacetFactory; import org.apache.isis.core.metamodel.services.ServicesInjector; @@ -61,9 +60,8 @@ public class ViewModelSemanticCheckingFacetFactoryTest { @Before public void setUp() throws Exception { - _Context.clear(); - _Config.configurationBuilderForTesting() - .add("isis.reflector.facets.ViewModelSemanticCheckingFacetFactory.enable", "true"); + _Config.clear(); + _Config.put("isis.reflector.facets.ViewModelSemanticCheckingFacetFactory.enable", true); facetFactory = new ViewModelSemanticCheckingFacetFactory(); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java index fd815f4..028726c 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java @@ -21,9 +21,7 @@ package org.apache.isis.core.metamodel.facets.object.defaults; import org.apache.isis.applib.adapters.DefaultsProvider; import org.apache.isis.applib.annotation.Defaulted; -import org.apache.isis.commons.internal.context._Context; import org.apache.isis.config.internal._Config; -import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest; import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext; import org.apache.isis.core.metamodel.facets.object.defaults.annotcfg.DefaultedFacetAnnotationElseConfigurationFactory; @@ -143,8 +141,7 @@ public class DefaultedFacetFactoryTest extends AbstractFacetFactoryTest { } public void testDefaultedMustHaveANoArgConstructor() { - _Context.clear(); - _Config.configurationBuilderForTesting(); + _Config.clear(); facetFactory.process(new ProcessClassContext(MyDefaultedWithoutNoArgConstructor.class, methodRemover, facetedMethod)); final DefaultedFacetAbstract facet = (DefaultedFacetAbstract) facetedMethod.getFacet(DefaultedFacet.class); @@ -191,11 +188,10 @@ public class DefaultedFacetFactoryTest extends AbstractFacetFactoryTest { public void testDefaultedProviderNameCanBePickedUpFromConfiguration() { - _Context.clear(); - IsisConfigurationBuilder configurationBuilderForTesting = _Config.configurationBuilderForTesting(); - final String className = "org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetFactoryTest$MyDefaultedWithDefaultsProviderSpecifiedUsingConfiguration"; - configurationBuilderForTesting.put(DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX, className); + + _Config.clear(); + _Config.put(DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX, className); facetFactory.process(new ProcessClassContext(MyDefaultedWithDefaultsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod)); final DefaultedFacetAbstract facet = (DefaultedFacetAbstract) facetedMethod.getFacet(DefaultedFacet.class); assertNotNull(facet); @@ -218,11 +214,10 @@ public class DefaultedFacetFactoryTest extends AbstractFacetFactoryTest { public void testNonAnnotatedDefaultedCanBePickedUpFromConfiguration() { - _Context.clear(); - IsisConfigurationBuilder configurationBuilderForTesting = _Config.configurationBuilderForTesting(); - final String className = "org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetFactoryTest$NonAnnotatedDefaultedDefaultsProviderSpecifiedUsingConfiguration"; - configurationBuilderForTesting.put(DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX, className); + + _Config.clear(); + _Config.put(DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX, className); facetFactory.process(new ProcessClassContext(NonAnnotatedDefaultedDefaultsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod)); final DefaultedFacetAbstract facet = (DefaultedFacetAbstract) facetedMethod.getFacet(DefaultedFacet.class); assertNotNull(facet); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java index 7c20293..0fa77f5 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java @@ -30,6 +30,7 @@ import org.junit.Test; import org.apache.isis.applib.annotation.Bounding; import org.apache.isis.applib.annotation.DomainObject; import org.apache.isis.applib.services.HasUniqueId; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.Facet; import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase; import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext; @@ -89,7 +90,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory } protected void allowingConfigurationToReturn(final String name, final String value) { - resetConfig().put(name, value); + _Config.put(name, value); } protected void ignoringConfiguration() { diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java index 241a63a..b9fc4c5 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java @@ -29,6 +29,7 @@ import org.junit.Test; import org.apache.isis.applib.annotation.BookmarkPolicy; import org.apache.isis.applib.annotation.DomainObjectLayout; import org.apache.isis.applib.annotation.ViewModelLayout; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.facetapi.Facet; import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase; @@ -57,6 +58,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp() throws Exception { + _Config.clear(); facetFactory = new DomainObjectLayoutFacetFactory(); facetFactory.setServicesInjector(mockServicesInjector); } @@ -107,7 +109,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @Test @Ignore //FIXME[2039] @@ -147,7 +149,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @Test @@ -195,7 +197,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @Before @@ -278,7 +280,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @@ -359,7 +361,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @Test @Ignore //FIXME[2039] @@ -437,7 +439,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @Test @Ignore //FIXME[2039] @@ -515,7 +517,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @Test @Ignore //FIXME[2039] @@ -593,7 +595,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes @Before public void setUp2() throws Exception { - super.resetConfig(); + _Config.clear(); } @Test @Ignore //FIXME[2039] diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java index 1bb861f..593f1a6 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java @@ -434,10 +434,8 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace // given final String className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$MyValueWithSemanticsProviderSpecifiedUsingConfiguration"; - _Context.clear(); - IsisConfigurationBuilder configurationBuilderForTesting = _Config.configurationBuilderForTesting(); - - configurationBuilderForTesting.put(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className); + _Config.clear(); + _Config.put(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className); // when facetFactory.process(new ProcessClassContext(MyValueWithSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod)); @@ -489,11 +487,8 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace // given final String className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration"; - _Context.clear(); - IsisConfigurationBuilder configurationBuilderForTesting = _Config.configurationBuilderForTesting(); - - configurationBuilderForTesting.put(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className); - + _Config.clear(); + _Config.put(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className); // when facetFactory.process(new ProcessClassContext(NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod)); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java index b68d977..c6aea89 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java @@ -35,6 +35,7 @@ import org.apache.isis.applib.annotation.Property; import org.apache.isis.applib.annotation.Where; import org.apache.isis.applib.events.domain.PropertyDomainEvent; import org.apache.isis.applib.spec.Specification; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy; import org.apache.isis.core.metamodel.facetapi.Facet; @@ -337,8 +338,7 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni // expect allowingLoadSpecificationRequestsFor(cls, propertyMethod.getReturnType()); - resetConfig() - .put("isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault", "true"); + _Config.put("isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault", true); // when final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java index 948b178..bb34ef8 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java @@ -24,6 +24,7 @@ import java.math.BigDecimal; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -42,8 +43,7 @@ public class BigDecimalValueSemanticsProviderTest extends ValueSemanticsProvider public void setUp() throws Exception { super.setUp(); - configurationBuilderForTesting - .put("isis.value.format.decimal", null); + _Config.put("isis.value.format.decimal", null); bigDecimal = new BigDecimal("34132.199"); allowMockAdapterToReturn(bigDecimal); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java index 694188a..ab41cb3 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java @@ -24,6 +24,7 @@ import java.math.BigInteger; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -43,8 +44,7 @@ public class BigIntValueSemanticsProviderTest extends ValueSemanticsProviderAbst bigInt = new BigInteger("132199"); allowMockAdapterToReturn(bigInt); - configurationBuilderForTesting - .put("isis.value.format.int", null); + _Config.put("isis.value.format.int", null); holder = new FacetHolderImpl(); setValue(new BigIntegerValueSemanticsProvider(holder, mockServicesInjector)); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java index 37c7cbf..4fa072d 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java @@ -22,6 +22,7 @@ package org.apache.isis.core.metamodel.facets.value; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -44,8 +45,7 @@ public class ByteValueSemanticsProviderTest extends ValueSemanticsProviderAbstra allowMockAdapterToReturn(byteObj); holder = new FacetHolderImpl(); - configurationBuilderForTesting - .put("isis.value.format.byte", null); + _Config.put("isis.value.format.byte", null); setValue(value = new ByteWrapperValueSemanticsProvider(holder, mockServicesInjector)); } diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java index 7860611..2b2cddd 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java @@ -22,6 +22,7 @@ package org.apache.isis.core.metamodel.facets.value; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -39,8 +40,7 @@ public class DoubleValueSemanticsProviderTest extends ValueSemanticsProviderAbst @Before public void setUpObjects() throws Exception { - configurationBuilderForTesting - .put("isis.value.format.double", null); + _Config.put("isis.value.format.double", null); holder = new FacetHolderImpl(); setValue(new DoubleWrapperValueSemanticsProvider(holder, mockServicesInjector)); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java index 4e04a5b..a75608f 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java @@ -22,6 +22,7 @@ package org.apache.isis.core.metamodel.facets.value; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -40,8 +41,7 @@ public class FloatValueSemanticsProviderTest extends ValueSemanticsProviderAbstr @Before public void setUpObjects() throws Exception { - configurationBuilderForTesting - .put("isis.value.format.float", null); + _Config.put("isis.value.format.float", null); float1 = new Float(32.5f); allowMockAdapterToReturn(float1); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java index 34e6a90..01c83f6b 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java @@ -19,19 +19,19 @@ package org.apache.isis.core.metamodel.facets.value; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import org.jmock.Expectations; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; import org.apache.isis.core.metamodel.facets.value.integer.IntValueSemanticsProviderAbstract; import org.apache.isis.core.metamodel.facets.value.integer.IntWrapperValueSemanticsProvider; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + public class IntValueSemanticsProviderTest extends ValueSemanticsProviderAbstractTestCase { private IntValueSemanticsProviderAbstract value; @@ -43,8 +43,7 @@ public class IntValueSemanticsProviderTest extends ValueSemanticsProviderAbstrac integer = Integer.valueOf(32); allowMockAdapterToReturn(integer); - configurationBuilderForTesting - .put("isis.value.format.int", null); + _Config.put("isis.value.format.int", null); holder = new FacetHolderImpl(); setValue(value = new IntWrapperValueSemanticsProvider(holder, mockServicesInjector)); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java index 89f841b..5b0ab84 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java @@ -28,6 +28,7 @@ import java.util.TimeZone; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -45,8 +46,7 @@ public class JavaSqlDateValueSemanticsProviderTest extends ValueSemanticsProvide @Before public void setUpObjects() throws Exception { - configurationBuilderForTesting - .put("isis.value.format.date", null); + _Config.put("isis.value.format.date", null); TestClock.initialize(); date = new Date(0); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java index a503dff..efc91cd 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java @@ -27,6 +27,7 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.value.timesql.JavaSqlTimeValueSemanticsProvider; @@ -42,8 +43,7 @@ public class JavaSqlTimeValueSemanticsProviderTest extends ValueSemanticsProvide @Before public void setUpObjects() throws Exception { - configurationBuilderForTesting - .put("isis.value.format.time", null); + _Config.put("isis.value.format.time", null); final Calendar c = Calendar.getInstance(); c.setTimeZone(TimeZone.getTimeZone("GMT")); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java index 7d58e66..f2a69ba 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java @@ -27,6 +27,7 @@ import java.util.TimeZone; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -43,9 +44,7 @@ public class JavaUtilDateValueSemanticsProviderTest extends ValueSemanticsProvid @Before public void setUpObjects() throws Exception { - configurationBuilderForTesting - .put("isis.value.format.datetime", null); - + _Config.put("isis.value.format.datetime", null); TestClock.initialize(); date = new java.util.Date(0); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java index 2a15e47..0f9d368 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java @@ -22,6 +22,7 @@ package org.apache.isis.core.metamodel.facets.value; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -44,8 +45,7 @@ public class LongValueSemanticsProviderTest extends ValueSemanticsProviderAbstra allowMockAdapterToReturn(longObj); holder = new FacetHolderImpl(); - configurationBuilderForTesting - .put("isis.value.format.long", null); + _Config.put("isis.value.format.long", null); setValue(value = new LongWrapperValueSemanticsProvider(holder, mockServicesInjector)); } diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PercentageValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PercentageValueSemanticsProviderTest.java index 8c50a4f..e1a4cd5 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PercentageValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PercentageValueSemanticsProviderTest.java @@ -23,6 +23,7 @@ import org.junit.Before; import org.junit.Test; import org.apache.isis.applib.value.Percentage; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.value.percentage.PercentageValueSemanticsProvider; @@ -37,8 +38,7 @@ public class PercentageValueSemanticsProviderTest extends ValueSemanticsProvider @Before public void setUpObjects() throws Exception { - configurationBuilderForTesting - .put("isis.value.format.percentage", null); + _Config.put("isis.value.format.percentage", null); percentage = new Percentage(0.105f); allowMockAdapterToReturn(percentage); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java index e608e9c..c755569 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java @@ -22,6 +22,7 @@ package org.apache.isis.core.metamodel.facets.value; import org.junit.Before; import org.junit.Test; +import org.apache.isis.config.internal._Config; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl; import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException; @@ -40,8 +41,7 @@ public class ShortValueSemanticsProviderTest extends ValueSemanticsProviderAbstr @Before public void setUpObjects() throws Exception { - configurationBuilderForTesting - .put("isis.value.format.short", null); + _Config.put("isis.value.format.short", null); short1 = Short.valueOf((short) 32); allowMockAdapterToReturn(short1); diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java index 06e3c5e..c498ba0 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java @@ -31,7 +31,6 @@ import org.junit.Test; import org.apache.isis.config.internal._Config; import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider; -import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet; @@ -74,13 +73,11 @@ public abstract class ValueSemanticsProviderAbstractTestCase { @Mock protected ObjectAdapter mockAdapter; - protected IsisConfigurationBuilder configurationBuilderForTesting; - @Before public void setUp() throws Exception { - Locale.setDefault(Locale.UK); - configurationBuilderForTesting = _Config.configurationBuilderForTesting(); + _Config.clear(); + Locale.setDefault(Locale.UK); context.checking(new Expectations() { { diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java index e69a7e3..dac7f34 100644 --- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java @@ -25,7 +25,6 @@ import org.junit.Rule; import org.junit.Test; import org.apache.isis.config.internal._Config; -import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; import org.apache.isis.core.metamodel.facetapi.FacetHolder; import org.apache.isis.core.metamodel.services.ServicesInjector; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; @@ -50,8 +49,9 @@ public class JodaLocalDateTimeValueSemanticsProviderTest { @Before public void setUp() throws Exception { - IsisConfigurationBuilder configBilder = _Config.configurationBuilderForTesting(); - configBilder.put("isis.value.format.datetime", "iso_encoding"); + _Config.acceptBuilder(config->{ + config.put("isis.value.format.datetime", "iso_encoding"); + }); provider = new JodaLocalDateTimeValueSemanticsProvider(mockFacetHolder, mockServicesInjector); diff --git a/core/plugins/jdo-datanucleus-4/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java b/core/plugins/jdo-datanucleus-4/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java index 64b36ed..5322707 100644 --- a/core/plugins/jdo-datanucleus-4/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java +++ b/core/plugins/jdo-datanucleus-4/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java @@ -304,8 +304,7 @@ public class WrapperFactoryDefaultTest_wrappedObject { allowingEmployeeHasSmithAdapter(); - _Config.configurationBuilderForTesting() - .put("isis.reflector.facet.filterVisibility", "true"); + _Config.put("isis.reflector.facet.filterVisibility", true); context.checking(new Expectations() {{ @@ -344,8 +343,7 @@ public class WrapperFactoryDefaultTest_wrappedObject { allowingJonesStringValueAdapter(); - _Config.configurationBuilderForTesting() - .put("isis.reflector.facet.filterVisibility", "true"); + _Config.put("isis.reflector.facet.filterVisibility", true); context.checking(new Expectations() { { diff --git a/core/plugins/jdo-datanucleus-5/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java b/core/plugins/jdo-datanucleus-5/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java index ad88e83..16e2069 100644 --- a/core/plugins/jdo-datanucleus-5/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java +++ b/core/plugins/jdo-datanucleus-5/src/test/java/org/apache/isis/core/wrapper/WrapperFactoryDefaultTest_wrappedObject.java @@ -305,8 +305,7 @@ public class WrapperFactoryDefaultTest_wrappedObject { allowingEmployeeHasSmithAdapter(); - _Config.configurationBuilderForTesting() - .put("isis.reflector.facet.filterVisibility", "true"); + _Config.put("isis.reflector.facet.filterVisibility", true); context.checking(new Expectations() {{ @@ -345,8 +344,7 @@ public class WrapperFactoryDefaultTest_wrappedObject { allowingJonesStringValueAdapter(); - _Config.configurationBuilderForTesting() - .put("isis.reflector.facet.filterVisibility", "true"); + _Config.put("isis.reflector.facet.filterVisibility", true); context.checking(new Expectations() { { diff --git a/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java b/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java index 0e38806..49fb419 100644 --- a/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java +++ b/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java @@ -32,7 +32,6 @@ import org.junit.Test; import org.apache.isis.applib.Identifier; import org.apache.isis.config.internal._Config; import org.apache.isis.core.commons.authentication.AuthenticationSession; -import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; import org.apache.isis.core.runtime.authentication.AuthenticationRequest; import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; @@ -55,8 +54,7 @@ public class ShiroAuthenticatorOrAuthorizorTest_authenticate { // PRODUCTION - IsisConfigurationBuilder configBuilder = _Config.configurationBuilderForTesting(); - configBuilder.add("isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated", "false"); + _Config.put("isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated", false); authOrAuth = new ShiroAuthenticatorOrAuthorizor(); authOrAuth.init(); diff --git a/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java b/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java index 49f5910..ac3d889 100644 --- a/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java +++ b/core/plugins/security-shiro/src/test/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java @@ -33,7 +33,6 @@ import org.junit.Test; import org.apache.isis.applib.Identifier; import org.apache.isis.config.internal._Config; import org.apache.isis.core.commons.config.IsisConfiguration; -import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder; import org.apache.isis.core.runtime.authentication.AuthenticationRequest; import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; @@ -57,8 +56,7 @@ public class ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole { // PRODUCTION - IsisConfigurationBuilder configBuilder = _Config.configurationBuilderForTesting(); - configBuilder.add("isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated", "false"); + _Config.put("isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated", false); authOrAuth = new ShiroAuthenticatorOrAuthorizor(); authOrAuth.init(); diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java index 2bd00cc..bafa37a 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java @@ -111,13 +111,13 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract { return; } - final IsisConfiguration configuration = _Config.getConfigurationElseThrow(); - try { if(packagePrefixes == null) { this.packagePrefixes = PACKAGE_PREFIX_STANDARD; - String packagePrefixes = configuration.getString(PACKAGE_PREFIX_KEY); + String packagePrefixes = + _Config.applyConfig(config->config.getString(PACKAGE_PREFIX_KEY)); + if(!_Strings.isNullOrEmpty(packagePrefixes)) { this.packagePrefixes = this.packagePrefixes + "," + packagePrefixes; } diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java index f37d3f9..f0241d4 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java @@ -58,27 +58,11 @@ public class ServicesInstallerFromConfiguration extends ServicesInstallerAbstrac // ////////////////////////////////////// - @Override public void init() { - initIfRequired(); - } - - private boolean initialized = false; - - protected void initIfRequired() { - if(initialized) { - return; - } - try { - // ensure we have a config - _Config.getConfigurationElseThrow(); - } finally { - initialized = true; - } + // nothing to do } - // ////////////////////////////////////// private List<Object> serviceList; @@ -109,7 +93,7 @@ public class ServicesInstallerFromConfiguration extends ServicesInstallerAbstrac private void appendConfiguredServices( final SortedMap<String, SortedSet<String>> positionedServices) { - final String configuredServices = _Config.getConfigurationElseThrow().getString(SERVICES_KEY); + final String configuredServices = _Config.getConfiguration().getString(SERVICES_KEY); if (configuredServices == null) { return; }