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 2018/11/25 16:31:34 UTC
[isis] branch 2039-Redesign_of_Config updated: ISIS-2039: config
bootstrapping: fixes the resource chain
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 <ah...@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(