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
The following commit(s) were added to refs/heads/2039-Redesign_of_Config by this push: new 78c5155 ISIS-2039: config bootstrapping: fixes the resource chain 78c5155 is described below commit 78c5155e29056a35f9c539d2d5147f0a2df79ce2 Author: Andi Huber <ahu...@apache.org> AuthorDate: Sun Nov 25 17:31:29 2018 +0100 ISIS-2039: config bootstrapping: fixes the resource chain Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 --- .../org/apache/isis/config/internal/_Config.java | 2 +- .../configbuilder/IsisConfigurationBuilder.java | 8 ++-- .../IsisConfigurationBuilderDefault.java | 53 ++++++++++++++++------ .../configbuilder/PrimerForServletContext.java | 3 +- 4 files changed, 46 insertions(+), 20 deletions(-) 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 00aeec5..3ec1d7e 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 @@ -103,7 +103,7 @@ public class _Config { } private static IsisConfigurationBuilder createBuilder() { - final IsisConfigurationBuilder builder = IsisConfigurationBuilder.empty(); + final IsisConfigurationBuilder builder = IsisConfigurationBuilder.getDefault(); return builder; } diff --git a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java index 00787ba..7aeedab 100644 --- a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java +++ b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java @@ -29,8 +29,6 @@ import org.apache.isis.core.commons.resource.ResourceStreamSource; public interface IsisConfigurationBuilder { - void addDefaultConfigurationResourcesAndPrimers(); - void addPropertyResource(PropertyResource propertyResource); void addResourceStreamSource(ResourceStreamSource resourceStreamSource); @@ -98,8 +96,12 @@ public interface IsisConfigurationBuilder { // -- FACTORIES + static IsisConfigurationBuilder getDefault() { + return IsisConfigurationBuilderDefault.getDefault(); + } + static IsisConfigurationBuilder empty() { - return new IsisConfigurationBuilderDefault(); + return IsisConfigurationBuilderDefault.empty(); } diff --git a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java index 50c9b02..9a1d4d3 100644 --- a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java +++ b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java @@ -21,6 +21,7 @@ package org.apache.isis.core.commons.configbuilder; import java.io.IOException; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Set; @@ -64,26 +65,51 @@ final class IsisConfigurationBuilderDefault implements IsisConfigurationBuilder // -- constructor, fields - private final ResourceStreamSourceChainOfResponsibility resourceStreamSourceChain; + private /*final*/ ResourceStreamSourceChainOfResponsibility resourceStreamSourceChain; private IsisConfigurationDefault configuration; private final Set<String> configurationResourcesFound = _Sets.newLinkedHashSet(); private final Set<String> configurationResourcesNotFound = _Sets.newLinkedHashSet(); - public IsisConfigurationBuilderDefault() { - this(ResourceStreamSourceFileSystem.create(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY)); - } +// public IsisConfigurationBuilderDefault() { +// this(ResourceStreamSourceFileSystem.create(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY)); +// } - public IsisConfigurationBuilderDefault(final ResourceStreamSource... resourceStreamSources) { - this(createComposite(Arrays.asList(resourceStreamSources))); - } +// private IsisConfigurationBuilderDefault(final ResourceStreamSource... resourceStreamSources) { +// this(createComposite(Arrays.asList(resourceStreamSources))); +// } - public IsisConfigurationBuilderDefault(final List<ResourceStreamSource> resourceStreamSources) { - this(createComposite(resourceStreamSources)); +// private IsisConfigurationBuilderDefault(final List<ResourceStreamSource> resourceStreamSources) { +// this(createComposite(resourceStreamSources)); +// } + + // -- FACTORIES + + static IsisConfigurationBuilder empty() { + ResourceStreamSourceChainOfResponsibility chain = createComposite(Collections.emptyList()); + IsisConfigurationBuilderDefault builder = new IsisConfigurationBuilderDefault(chain); + return builder; } + + static IsisConfigurationBuilderDefault getDefault() { + + ResourceStreamSourceChainOfResponsibility chain = createComposite(Arrays.asList( + ResourceStreamSourceFileSystem.create(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY) + )); + IsisConfigurationBuilderDefault builder = new IsisConfigurationBuilderDefault(chain); + + builder.addDefaultPrimers(); + + builder.addDefaultConfigurationResources(); + + return builder; + + } + + // -- - public IsisConfigurationBuilderDefault(final ResourceStreamSourceChainOfResponsibility resourceStreamSourceChain) { + private IsisConfigurationBuilderDefault(final ResourceStreamSourceChainOfResponsibility resourceStreamSourceChain) { this.resourceStreamSourceChain = resourceStreamSourceChain; configuration = new IsisConfigurationDefault(resourceStreamSourceChain); } @@ -100,11 +126,6 @@ final class IsisConfigurationBuilderDefault implements IsisConfigurationBuilder return composite; } - @Override - public void addDefaultConfigurationResourcesAndPrimers() { - addDefaultConfigurationResources(); - addDefaultPrimers(); - } private void addDefaultConfigurationResources() { IsisConfigurationDefault.ContainsPolicy ignorePolicy = IsisConfigurationDefault.ContainsPolicy.IGNORE; @@ -362,4 +383,6 @@ final class IsisConfigurationBuilderDefault implements IsisConfigurationBuilder resourceStreamSourceChain, configurationResourcesFound); } + + } diff --git a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForServletContext.java b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForServletContext.java index 9b1a1e2..cbbdd60 100644 --- a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForServletContext.java +++ b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForServletContext.java @@ -46,13 +46,14 @@ class PrimerForServletContext implements IsisConfigurationBuilder.Primer { public void prime(final IsisConfigurationBuilder builder) { final ServletContext servletContext = _Context.getIfAny(ServletContext.class); if(servletContext==null) { + System.out.println("!!!! no servlet context to prime from"); return; } + System.out.println("!!!! priming from servlet context"); asMap(servletContext).forEach((k, v)->builder.put(k, v)); addServletContextConstants(servletContext, builder); addResourceStreamSources(servletContext, builder); - builder.addDefaultConfigurationResourcesAndPrimers(); final String loggingPropertiesDir = ifPresentElseGet(