You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2016/05/19 12:53:26 UTC
[1/4] isis git commit: ISIS-1406: lots more refactoring around
IsisConfiguration and IsisConfigurationBuilder.
Repository: isis
Updated Branches:
refs/heads/ISIS-1406 dcaab8ead -> 745658883
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderDefault2.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderDefault2.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderDefault2.java
index 159e2ac..214a362 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderDefault2.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderDefault2.java
@@ -95,7 +95,7 @@ public class IsisComponentProviderDefault2 extends IsisComponentProviderAbstract
}
putConfigurationProperty(FixturesInstallerFromConfiguration.FIXTURES, fixtureClassNamesCsv);
- this.fixturesInstaller = createFixturesInstaller(configuration);
+ this.fixturesInstaller = new FixturesInstallerFromConfiguration(configuration);
// integration tests ignore appManifest for authentication and authorization.
this.authenticationManager = createAuthenticationManager(configuration);
@@ -110,10 +110,9 @@ public class IsisComponentProviderDefault2 extends IsisComponentProviderAbstract
//region > appManifest
- private List<Object> createServices(final IsisConfiguration configuration) {
+ private List<Object> createServices(final IsisConfigurationDefault configuration) {
final ServicesInstallerFromConfigurationAndAnnotation servicesInstaller =
- new ServicesInstallerFromConfigurationAndAnnotation();
- servicesInstaller.setConfiguration(configuration);
+ new ServicesInstallerFromConfigurationAndAnnotation(configuration);
return servicesInstaller.getServices();
}
@@ -121,7 +120,7 @@ public class IsisComponentProviderDefault2 extends IsisComponentProviderAbstract
@Override
protected void doPutConfigurationProperty(final String key, final String value) {
// bit hacky :-(
- IsisConfigurationDefault configurationDefault = (IsisConfigurationDefault) this.configuration;
+ IsisConfigurationDefault configurationDefault = this.configuration;
configurationDefault.put(key, value);
}
@@ -139,16 +138,15 @@ public class IsisComponentProviderDefault2 extends IsisComponentProviderAbstract
private static List<Object> elseDefault(
final List<Object> servicesOverride,
- final IsisConfiguration configuration) {
+ final IsisConfigurationDefault configuration) {
return servicesOverride != null
? servicesOverride
: createDefaultServices(configuration);
}
private static List<Object> createDefaultServices(
- final IsisConfiguration configuration) {
- final ServicesInstallerFromConfiguration servicesInstaller = new ServicesInstallerFromConfiguration();
- servicesInstaller.setConfiguration(configuration);
+ final IsisConfigurationDefault configuration) {
+ final ServicesInstallerFromConfiguration servicesInstaller = new ServicesInstallerFromConfiguration( configuration);
return servicesInstaller.getServices();
}
@@ -174,12 +172,6 @@ public class IsisComponentProviderDefault2 extends IsisComponentProviderAbstract
: new MetaModelValidatorDefault();
}
- private static FixturesInstaller createFixturesInstaller(final IsisConfiguration configuration) {
- final FixturesInstallerFromConfiguration fixturesInstallerFromConfiguration = new FixturesInstallerFromConfiguration();
- fixturesInstallerFromConfiguration.setConfiguration(configuration);
- return fixturesInstallerFromConfiguration;
- }
-
/**
* The standard authentication manager, configured with the default authenticator (allows all requests through).
*/
@@ -268,9 +260,9 @@ public class IsisComponentProviderDefault2 extends IsisComponentProviderAbstract
final ServicesInjectorSpi servicesInjector,
final SpecificationLoaderSpi specificationLoader) {
DataNucleusPersistenceMechanismInstaller installer =
- new DataNucleusPersistenceMechanismInstaller();
+ new DataNucleusPersistenceMechanismInstaller(configuration);
return installer.createPersistenceSessionFactory(
- deploymentType, configuration, servicesInjector
+ deploymentType, servicesInjector
);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderUsingInstallers.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderUsingInstallers.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderUsingInstallers.java
index 9d00f39..e43c9e6 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderUsingInstallers.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderUsingInstallers.java
@@ -24,7 +24,6 @@ import java.util.List;
import org.apache.isis.applib.AppManifest;
import org.apache.isis.applib.fixturescripts.FixtureScript;
-import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
@@ -130,6 +129,7 @@ public class IsisComponentProviderUsingInstallers extends IsisComponentProviderA
// eagerly calculate
authenticationManager = authenticationInstaller.createAuthenticationManager();
authorizationManager = authorizationInstaller.createAuthorizationManager();
+
services = servicesInstaller.getServices();
ensureInitialized();
@@ -174,7 +174,7 @@ public class IsisComponentProviderUsingInstallers extends IsisComponentProviderA
final ServicesInjectorSpi servicesInjector,
final SpecificationLoaderSpi specificationLoader) {
return persistenceMechanismInstaller.createPersistenceSessionFactory(
- deploymentType, getConfiguration(),
+ deploymentType,
servicesInjector);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
index cfcab14..977f700 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
@@ -19,28 +19,22 @@
package org.apache.isis.core.webapp;
-import java.util.List;
-
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
-import com.google.common.collect.Lists;
import com.google.inject.Guice;
import com.google.inject.Injector;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStreams;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.commons.config.NotFoundPolicy;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceComposite;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
+import org.apache.isis.core.commons.resource.ResourceStreamSourceCurrentClassClassPath;
import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
import org.apache.isis.core.runtime.runner.IsisInjectModule;
import org.apache.isis.core.runtime.runner.opts.OptionHandlerInitParameters;
@@ -82,47 +76,26 @@ public class IsisWebAppBootstrapper implements ServletContextListener {
try {
final ServletContext servletContext = servletContextEvent.getServletContext();
- final String webappDir = servletContext.getRealPath("/");
final String webInfDir = servletContext.getRealPath("/WEB-INF");
loggingConfigurer.configureLogging(webInfDir, new String[0]);
- final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
- final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(
- ResourceStreamSourceContextLoaderClassPath.create(),
- new ResourceStreamSourceForWebInf(servletContext)) ;
-
- if ( configLocation != null ) {
- LOG.info( "Config override location: " + configLocation );
- compositeSource.addResourceStreamSource(ResourceStreamSourceFileSystem.create(configLocation));
- } else {
- LOG.info( "Config override location: No override location configured" );
- }
-
- // will load either from WEB-INF, from the classpath or from config directory.
- final IsisConfigurationBuilder isisConfigurationBuilder = new IsisConfigurationBuilderResourceStreams(compositeSource);
-
- primeConfigurationBuilder(isisConfigurationBuilder, servletContext);
-
+ final IsisConfigurationBuilder isisConfigurationBuilder = obtainIsisConfigurationBuilder(servletContext);
isisConfigurationBuilder.addDefaultConfigurationResources();
- final DeploymentType deploymentType = determineDeploymentType(isisConfigurationBuilder, servletContext);
-
+ final DeploymentType deploymentType = determineDeploymentType(servletContext, isisConfigurationBuilder);
addConfigurationResourcesForDeploymentType(isisConfigurationBuilder, deploymentType);
+ final String webappDir = servletContext.getRealPath("/");
isisConfigurationBuilder.add(WebAppConstants.WEB_APP_DIR, webappDir);
-
isisConfigurationBuilder.add(SystemConstants.NOSPLASH_KEY, "true");
- IsisConfigurationDefault isisConfiguration = isisConfigurationBuilder.getConfiguration();
-
- final InstallerLookup installerLookup = new InstallerLookup(isisConfiguration);
+ final IsisConfigurationDefault isisConfiguration = isisConfigurationBuilder.getConfiguration();
injector = createGuiceInjector(isisConfiguration, deploymentType);
-
final IsisSystem system = injector.getInstance(IsisSystem.class);
-
servletContext.setAttribute(WebAppConstants.ISIS_SYSTEM_KEY, system);
+
} catch (final RuntimeException e) {
LOG.error("startup failed", e);
throw e;
@@ -130,6 +103,48 @@ public class IsisWebAppBootstrapper implements ServletContextListener {
LOG.info("server started");
}
+ protected IsisConfigurationBuilder obtainIsisConfigurationBuilder(final ServletContext servletContext) {
+ return obtainConfigBuilderFrom(servletContext);
+ }
+
+ /**
+ * publis so can also be used by Wicket viewer.
+ */
+ public static IsisConfigurationBuilder obtainConfigBuilderFrom(final ServletContext servletContext) {
+ final IsisConfigurationBuilder isisConfigurationBuilder = lookupIsisConfigurationBuilder(servletContext);
+ isisConfigurationBuilder.primeWith(new OptionHandlerInitParameters(servletContext));
+
+ addResourceStreamSources(servletContext, isisConfigurationBuilder);
+ return isisConfigurationBuilder;
+ }
+
+ public static IsisConfigurationBuilder lookupIsisConfigurationBuilder(final ServletContext servletContext) {
+ IsisConfigurationBuilder isisConfigurationBuilder =
+ (IsisConfigurationBuilder) servletContext.getAttribute(WebAppConstants.CONFIGURATION_BUILDER_KEY);
+ if(isisConfigurationBuilder == null) {
+ isisConfigurationBuilder = new IsisConfigurationBuilder();
+ }
+ return isisConfigurationBuilder;
+ }
+
+ private static void addResourceStreamSources(
+ final ServletContext servletContext,
+ final IsisConfigurationBuilder isisConfigurationBuilder) {
+
+ isisConfigurationBuilder.addResourceStreamSource(ResourceStreamSourceContextLoaderClassPath.create());
+ isisConfigurationBuilder.addResourceStreamSource(new ResourceStreamSourceCurrentClassClassPath());
+ isisConfigurationBuilder.addResourceStreamSource(new ResourceStreamSourceForWebInf(servletContext));
+
+ // will load either from WEB-INF, from the classpath or from config directory.
+ final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
+ if ( configLocation != null ) {
+ LOG.info( "Config override location: " + configLocation );
+ isisConfigurationBuilder.addResourceStreamSource(ResourceStreamSourceFileSystem.create(configLocation));
+ } else {
+ LOG.info( "Config override location: No override location configured" );
+ }
+ }
+
private Injector createGuiceInjector(
final IsisConfigurationDefault isisConfiguration,
final DeploymentType deploymentType) {
@@ -137,22 +152,6 @@ public class IsisWebAppBootstrapper implements ServletContextListener {
return Guice.createInjector(isisModule);
}
- @SuppressWarnings("unchecked")
- private static void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder, final ServletContext servletContext) {
- LOG.info("loading properties from option handlers");
- final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = Lists.newArrayList();
- final List<IsisConfigurationBuilderPrimer> primers = (List<IsisConfigurationBuilderPrimer>) servletContext.getAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY);
- if(primers != null) {
- isisConfigurationBuilderPrimers.addAll(primers);
- }
- // also support loading from init parameters (specifically, to support simplericity's jetty-console)
- isisConfigurationBuilderPrimers.add(new OptionHandlerInitParameters(servletContext));
- for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : isisConfigurationBuilderPrimers) {
- LOG.debug("priming configurations for " + isisConfigurationBuilderPrimer);
- isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
- }
- }
-
/**
* Checks {@link IsisConfigurationBuilder configuration} for
* {@value SystemConstants#DEPLOYMENT_TYPE_KEY}, (that is, from the command
@@ -162,27 +161,42 @@ public class IsisWebAppBootstrapper implements ServletContextListener {
* <p>
* If no setting is found, defaults to {@link WebAppConstants#DEPLOYMENT_TYPE_DEFAULT}.
*/
- private DeploymentType determineDeploymentType(
- final IsisConfigurationBuilder isisConfigurationBuilder,
- final ServletContext servletContext) {
- String deploymentTypeStr = servletContext.getInitParameter(WebAppConstants.DEPLOYMENT_TYPE_KEY);
- if (deploymentTypeStr == null) {
- deploymentTypeStr = servletContext.getInitParameter(SystemConstants.DEPLOYMENT_TYPE_KEY);
+ protected DeploymentType determineDeploymentType(
+ final ServletContext servletContext,
+ final IsisConfigurationBuilder isisConfigurationBuilder) {
+ String deploymentTypeStr = determineDeploymentTypeStr(servletContext, isisConfigurationBuilder);
+ return DeploymentType.lookup(deploymentTypeStr);
+ }
+
+ private String determineDeploymentTypeStr(
+ final ServletContext servletContext,
+ final IsisConfigurationBuilder isisConfigurationBuilder) {
+
+ String deploymentTypeStr;
+
+ deploymentTypeStr = servletContext.getInitParameter(WebAppConstants.DEPLOYMENT_TYPE_KEY);
+ if (deploymentTypeStr != null) {
+ return deploymentTypeStr;
}
- if (deploymentTypeStr == null) {
- deploymentTypeStr = isisConfigurationBuilder.getConfiguration().getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
+
+ deploymentTypeStr = servletContext.getInitParameter(SystemConstants.DEPLOYMENT_TYPE_KEY);
+ if (deploymentTypeStr != null) {
+ return deploymentTypeStr;
}
- if (deploymentTypeStr == null) {
- deploymentTypeStr = WebAppConstants.DEPLOYMENT_TYPE_DEFAULT;
+
+ deploymentTypeStr = isisConfigurationBuilder.peekConfiguration().getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
+ if (deploymentTypeStr != null) {
+ return deploymentTypeStr;
}
- return DeploymentType.lookup(deploymentTypeStr);
+
+ return WebAppConstants.DEPLOYMENT_TYPE_DEFAULT;
}
- private static void addConfigurationResourcesForDeploymentType(
- final IsisConfigurationBuilder configurationLoader,
+ protected void addConfigurationResourcesForDeploymentType(
+ final IsisConfigurationBuilder isisConfigurationBuilder,
final DeploymentType deploymentType) {
final String resourceName = deploymentType.name().toLowerCase() + ".properties";
- configurationLoader.addConfigurationResource(resourceName, NotFoundPolicy.CONTINUE);
+ isisConfigurationBuilder.addConfigurationResource(resourceName, NotFoundPolicy.CONTINUE);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/webapp/WebAppConstants.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebAppConstants.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/WebAppConstants.java
index fdaac88..ea308d1 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebAppConstants.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/WebAppConstants.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.webapp;
import org.apache.isis.applib.fixtures.LogonFixture;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.IsisSystem;
@@ -33,18 +32,16 @@ public final class WebAppConstants {
*/
public static final String DEPLOYMENT_TYPE_KEY = "deploymentType";
/**
- * Deployment type to use if there is none {@link DEPLOYMENT_TYPE_KEY
- * specified}.
+ * Deployment type to use if there is none {@link #DEPLOYMENT_TYPE_KEY specified}.
*/
public static final String DEPLOYMENT_TYPE_DEFAULT = DeploymentType.SERVER.name();
/**
- * Key under which the list of {@link IsisConfigurationBuilderPrimer}s is
- * bound as a servlet context attribute (
- * <tt>ServletContext#getAttribute(String)</tt>); used to pass from the
- * <tt>webserver</tt> module to this.
+ * Key under which the {@link org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder} is
+ * bound as a servlet context attribute (<tt>ServletContext#getAttribute(String)</tt>); used to pass
+ * from the <tt>webserver</tt> module to this.
*/
- public static final String CONFIGURATION_PRIMERS_KEY = "isis.configurationPrimers";
+ public static final String CONFIGURATION_BUILDER_KEY = "isis.configurationBuilder";
/**
* Key under which the {@link IsisSystem} is bound as a servlet context
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
index 07cf783..5b2ea63 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusPersistenceMechanismInstaller.java
@@ -23,8 +23,7 @@ import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.components.Installer;
-import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.components.InstallerAbstract;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
@@ -34,14 +33,6 @@ import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory;
/**
- * Configuration files are read in the usual fashion (as per {@link Installer#getConfigurationResources()}, ie will consult all of:
- * <ul>
- * <li><tt>persistor_datanucleus.properties</tt>
- * <li><tt>persistor.properties</tt>
- * <li><tt>isis.properties</tt>
- * </ul>
- *
- * <p>
* With respect to configuration, all properties under {@value #DATANUCLEUS_CONFIG_PREFIX} prefix are passed
* through verbatim to the DataNucleus runtime. For example:
* <table>
@@ -59,18 +50,25 @@ public class DataNucleusPersistenceMechanismInstaller extends InstallerAbstract
public static final String JDO_OBJECTSTORE_CONFIG_PREFIX = "isis.persistor.datanucleus"; // specific to the JDO objectstore
public static final String DATANUCLEUS_CONFIG_PREFIX = "isis.persistor.datanucleus.impl"; // reserved for datanucleus' own config props
+ /**
+ * @deprecated - this will be ignored...
+ */
+ @Deprecated
public DataNucleusPersistenceMechanismInstaller() {
- super(PersistenceMechanismInstaller.TYPE, NAME);
+ super(PersistenceMechanismInstaller.TYPE, NAME, null);
+ }
+
+ public DataNucleusPersistenceMechanismInstaller(final IsisConfigurationDefault isisConfiguration) {
+ super(PersistenceMechanismInstaller.TYPE, NAME, isisConfiguration);
}
//region > createPersistenceSessionFactory
@Override
public PersistenceSessionFactory createPersistenceSessionFactory(
final DeploymentType deploymentType,
- final IsisConfigurationDefault configuration,
final ServicesInjectorSpi servicesInjector) {
- return new PersistenceSessionFactory(deploymentType, configuration);
+ return new PersistenceSessionFactory(deploymentType, getConfiguration());
}
//endregion
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticationManagerInstaller.java b/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticationManagerInstaller.java
index 117bc8f..6df1a2d 100644
--- a/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticationManagerInstaller.java
+++ b/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticationManagerInstaller.java
@@ -20,23 +20,24 @@ package org.apache.isis.security.shiro.authentication;
import java.util.List;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import com.google.common.collect.Lists;
+
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime;
import org.apache.isis.core.runtime.authentication.standard.Authenticator;
import org.apache.isis.security.shiro.ShiroAuthenticatorOrAuthorizor;
-import com.google.common.collect.Lists;
-
-public class ShiroAuthenticationManagerInstaller extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
+public class ShiroAuthenticationManagerInstaller
+ extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
public static String NAME = "shiro";
- public ShiroAuthenticationManagerInstaller() {
- super(NAME);
+ public ShiroAuthenticationManagerInstaller(final IsisConfigurationDefault isisConfiguration) {
+ super(NAME, isisConfiguration);
}
@Override
- protected List<Authenticator> createAuthenticators(final IsisConfiguration configuration) {
- return Lists.<Authenticator> newArrayList(new ShiroAuthenticatorOrAuthorizor(configuration));
+ protected List<Authenticator> createAuthenticators() {
+ return Lists.<Authenticator> newArrayList(new ShiroAuthenticatorOrAuthorizor(getConfiguration()));
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizationManagerInstaller.java b/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizationManagerInstaller.java
index 8dd09b2..f8df59d 100644
--- a/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizationManagerInstaller.java
+++ b/core/security-shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizationManagerInstaller.java
@@ -18,7 +18,7 @@
*/
package org.apache.isis.security.shiro.authorization;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandardInstallerAbstract;
import org.apache.isis.core.runtime.authorization.standard.Authorizor;
import org.apache.isis.security.shiro.ShiroAuthenticatorOrAuthorizor;
@@ -27,13 +27,13 @@ public class ShiroAuthorizationManagerInstaller extends AuthorizationManagerStan
public static String NAME = "shiro";
- public ShiroAuthorizationManagerInstaller() {
- super(NAME);
+ public ShiroAuthorizationManagerInstaller(final IsisConfigurationDefault isisConfiguration) {
+ super(NAME, isisConfiguration);
}
@Override
- protected Authorizor createAuthorizor(final IsisConfiguration configuration) {
- return new ShiroAuthenticatorOrAuthorizor(configuration);
+ protected Authorizor createAuthorizor() {
+ return new ShiroAuthenticatorOrAuthorizor(getConfiguration());
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/security/src/main/java/org/apache/isis/core/security/authentication/BypassAuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/core/security/src/main/java/org/apache/isis/core/security/authentication/BypassAuthenticationManagerInstaller.java b/core/security/src/main/java/org/apache/isis/core/security/authentication/BypassAuthenticationManagerInstaller.java
index 5dd9489..68e2552 100644
--- a/core/security/src/main/java/org/apache/isis/core/security/authentication/BypassAuthenticationManagerInstaller.java
+++ b/core/security/src/main/java/org/apache/isis/core/security/authentication/BypassAuthenticationManagerInstaller.java
@@ -23,7 +23,7 @@ import java.util.List;
import com.google.common.collect.Lists;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime;
import org.apache.isis.core.runtime.authentication.standard.Authenticator;
@@ -37,13 +37,13 @@ import org.apache.isis.core.runtime.authentication.standard.Authenticator;
*/
public class BypassAuthenticationManagerInstaller extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
- public BypassAuthenticationManagerInstaller() {
- super("bypass");
+ public BypassAuthenticationManagerInstaller(final IsisConfigurationDefault isisConfiguration) {
+ super("bypass", isisConfiguration);
}
@Override
- protected List<Authenticator> createAuthenticators(final IsisConfiguration configuration) {
- return Lists.<Authenticator> newArrayList(new AuthenticatorBypass(configuration));
+ protected List<Authenticator> createAuthenticators() {
+ return Lists.<Authenticator> newArrayList(new AuthenticatorBypass(getConfiguration()));
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/security/src/main/java/org/apache/isis/core/security/authorization/BypassAuthorizationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/core/security/src/main/java/org/apache/isis/core/security/authorization/BypassAuthorizationManagerInstaller.java b/core/security/src/main/java/org/apache/isis/core/security/authorization/BypassAuthorizationManagerInstaller.java
index 383cbb1..e8a2876 100644
--- a/core/security/src/main/java/org/apache/isis/core/security/authorization/BypassAuthorizationManagerInstaller.java
+++ b/core/security/src/main/java/org/apache/isis/core/security/authorization/BypassAuthorizationManagerInstaller.java
@@ -19,18 +19,18 @@
package org.apache.isis.core.security.authorization;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandardInstallerAbstract;
import org.apache.isis.core.runtime.authorization.standard.Authorizor;
public class BypassAuthorizationManagerInstaller extends AuthorizationManagerStandardInstallerAbstract {
- public BypassAuthorizationManagerInstaller() {
- super("bypass");
+ public BypassAuthorizationManagerInstaller(final IsisConfigurationDefault isisConfiguration) {
+ super("bypass", isisConfiguration);
}
@Override
- protected Authorizor createAuthorizor(final IsisConfiguration configuration) {
+ protected Authorizor createAuthorizor() {
return new AuthorizorBypass();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index 09ec550..aa86820 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -24,8 +24,6 @@ import java.util.List;
import java.util.ServiceLoader;
import java.util.Set;
-import javax.servlet.ServletContext;
-
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
@@ -61,25 +59,17 @@ import org.wicketstuff.select2.ApplicationSettings;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStreams;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceComposite;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceCurrentClassClassPath;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelInvalidException;
import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
import org.apache.isis.core.runtime.runner.IsisInjectModule;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerInitParameters;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.IsisSystem;
import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.webapp.WebAppConstants;
-import org.apache.isis.core.webapp.config.ResourceStreamSourceForWebInf;
+import org.apache.isis.core.webapp.IsisWebAppBootstrapper;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.models.ImageResourceCache;
@@ -245,16 +235,18 @@ public class IsisWicketApplication
getResourceSettings().setParentFolderPlaceholder("$up$");
- determineDeploymentTypeIfRequired();
+ final IsisConfigurationBuilder isisConfigurationBuilder = obtainConfigBuilder();
+ isisConfigurationBuilder.addDefaultConfigurationResources();
+
+ final IsisConfigurationDefault configuration = isisConfigurationBuilder.getConfiguration();
+
+ deploymentType = determineDeploymentType(configuration.getString("isis.deploymentType"));
RequestCycleListenerCollection requestCycleListeners = getRequestCycleListeners();
IRequestCycleListener requestCycleListenerForIsis = newWebRequestCycleForIsis();
requestCycleListeners.add(requestCycleListenerForIsis);
requestCycleListeners.add(new PageRequestHandlerTracker());
- final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder();
- final IsisConfigurationDefault configuration = isisConfigurationBuilder.getConfiguration();
-
final IsisInjectModule isisModule = newIsisModule(deploymentType, configuration);
final Injector injector = Guice.createInjector(isisModule, newIsisWicketModule());
initWicketComponentInjection(injector);
@@ -397,8 +389,9 @@ public class IsisWicketApplication
determiningDeploymentType = true;
try {
- final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder();
- final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration();
+ final IsisConfigurationBuilder isisConfigurationBuilder = obtainConfigBuilder();
+
+ final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration();
String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
deploymentType = determineDeploymentType(deploymentTypeFromConfig);
} finally {
@@ -428,49 +421,12 @@ public class IsisWicketApplication
// //////////////////////////////////////
- private IsisConfigurationBuilder createConfigBuilder() {
- return createConfigBuilder(getServletContext());
- }
-
- protected IsisConfigurationBuilder createConfigBuilder(final ServletContext servletContext) {
+ private IsisConfigurationBuilder isisConfigurationBuilder;
- final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
- final ResourceStreamSourceForWebInf rssWebInf = new ResourceStreamSourceForWebInf(servletContext);
- final ResourceStreamSourceContextLoaderClassPath rssContextLoaderClassPath = ResourceStreamSourceContextLoaderClassPath.create();
- final ResourceStreamSourceCurrentClassClassPath rssCurrentClassPath = new ResourceStreamSourceCurrentClassClassPath();
- final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(rssWebInf, rssContextLoaderClassPath, rssCurrentClassPath);
-
- if ( configLocation != null ) {
- LOG.info( "Config override location: " + configLocation );
- compositeSource.addResourceStreamSource(ResourceStreamSourceFileSystem.create(configLocation));
- } else {
- LOG.info( "Config override location: No override location configured!" );
- }
-
- final IsisConfigurationBuilder configurationBuilder = new IsisConfigurationBuilderResourceStreams(compositeSource);
-
- primeConfigurationBuilder(configurationBuilder, servletContext);
- configurationBuilder.addDefaultConfigurationResources();
-
- return configurationBuilder;
- }
-
- @SuppressWarnings("unchecked")
- private static void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder, final ServletContext servletContext) {
- LOG.info("loading properties from option handlers");
- final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = Lists.newArrayList();
- final List<IsisConfigurationBuilderPrimer> primers = (List<IsisConfigurationBuilderPrimer>) servletContext.getAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY);
- if(primers != null) {
- isisConfigurationBuilderPrimers.addAll(primers);
- }
- // also support loading from init parameters (specifically, to support simplericity's jetty-console)
- isisConfigurationBuilderPrimers.add(new OptionHandlerInitParameters(servletContext));
- for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : isisConfigurationBuilderPrimers) {
- if(LOG.isDebugEnabled()) {
- LOG.debug("priming configurations for " + isisConfigurationBuilderPrimer);
- }
- isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
- }
+ protected IsisConfigurationBuilder obtainConfigBuilder() {
+ return isisConfigurationBuilder != null
+ ? isisConfigurationBuilder
+ : (isisConfigurationBuilder = IsisWebAppBootstrapper.obtainConfigBuilderFrom(getServletContext()));
}
// //////////////////////////////////////
@@ -693,7 +649,9 @@ public class IsisWicketApplication
return deploymentType.getConfigurationType();
}
- protected IsisInjectModule newIsisModule(final DeploymentType deploymentType, final IsisConfigurationDefault isisConfiguration) {
+ protected IsisInjectModule newIsisModule(
+ final DeploymentType deploymentType,
+ final IsisConfigurationDefault isisConfiguration) {
return new IsisInjectModule(deploymentType, isisConfiguration);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/viewer-wicket-impl/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicket_providers.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicket_providers.java b/core/viewer-wicket-impl/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicket_providers.java
index 2dda4ef..8150859 100644
--- a/core/viewer-wicket-impl/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicket_providers.java
+++ b/core/viewer-wicket-impl/src/test/java/org/apache/isis/viewer/wicket/viewer/IsisWicket_providers.java
@@ -30,7 +30,7 @@ import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.IsisSystem;
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
index f93220e..c663af2 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
@@ -19,26 +19,58 @@
package org.apache.isis.core.webserver;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
+import java.io.File;
import java.net.URI;
+import java.util.Arrays;
import java.util.Formatter;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Lists;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.webapp.WebAppContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderDefault;
+import org.apache.isis.core.commons.config.ConfigurationConstants;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.lang.ArrayExtensions;
-import org.apache.isis.core.runtime.runner.IsisRunner;
+import org.apache.isis.core.commons.lang.ObjectExtensions;
+import org.apache.isis.core.commons.resource.ResourceStreamSource;
+import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
+import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
+import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
+import org.apache.isis.core.runtime.optionhandler.OptionHandler;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerAdditionalProperty;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerAppManifest;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerConfiguration;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerFixture;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerFixtureFromEnvironmentVariable;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerHelp;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerSystemProperties;
+import org.apache.isis.core.runtime.runner.opts.OptionHandlerVersion;
+import org.apache.isis.core.webapp.WebAppConstants;
import org.apache.isis.core.webserver.internal.OptionHandlerDeploymentTypeWebServer;
import org.apache.isis.core.webserver.internal.OptionHandlerPort;
import org.apache.isis.core.webserver.internal.OptionHandlerStartupMode;
+import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_PORT_DEFAULT;
+import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_PORT_KEY;
+import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_RESOURCE_BASE_DEFAULT;
+import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_RESOURCE_BASE_KEY;
+import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_STARTUP_MODE_DEFAULT;
+import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY;
+
public class WebServer {
- public static enum StartupMode {
+ private static final Logger LOG = LoggerFactory.getLogger(WebServer.class);
+ private static final String SRC_MAIN_WEBAPP = "src/main/webapp";
+
+ public enum StartupMode {
FOREGROUND, BACKGROUND;
public static StartupMode lookup(final String value) {
@@ -55,37 +87,18 @@ public class WebServer {
public boolean isForeground() {
return this == FOREGROUND;
}
-
public boolean isBackground() {
return this == BACKGROUND;
}
-
}
+
private Server jettyServer;
public static void main(final String[] args) {
-// System.out.println("press any key to start...");
-// readLine();
-// final String[] args2 = ArrayExtensions.append(args, "--" + Constants.NO_SPLASH_LONG_OPT);
new WebServer().run(args);
}
- private static void readLine() {
- try{
- BufferedReader br =
- new BufferedReader(new InputStreamReader(System.in));
-
- br.readLine();
- } catch(IOException io){
- io.printStackTrace();
- System.exit(1);
- }
- }
-
- /**
- * Originally introduced to allow the WebServer to be used by tests.
- */
public void run(final int port) {
String[] args = new String[0];
args = OptionHandlerStartupMode.appendArg(args, StartupMode.BACKGROUND);
@@ -93,34 +106,111 @@ public class WebServer {
run(args);
}
+ private final IsisLoggingConfigurer loggingConfigurer = new IsisLoggingConfigurer();
+
public void run(final String[] args) {
- final IsisRunner runner = new IsisRunner(args, new OptionHandlerDeploymentTypeWebServer());
- addOptionHandlersAndValidators(runner);
- if (!runner.parseAndValidate()) {
+
+ // setup logging immediately
+ loggingConfigurer.configureLogging(guessConfigDirectory(), args);
+
+ // set up the configuration
+ final IsisConfigurationBuilder isisConfigurationBuilder = new IsisConfigurationBuilder();
+ isisConfigurationBuilder.addResourceStreamSources(resourceStreamSources());
+
+ if(!isisConfigurationBuilder.parseAndPrimeWith(standardHandlers(), args)) {
return;
}
- runner.setConfigurationBuilder(new IsisConfigurationBuilderDefault());
- runner.primeConfigurationWithCommandLineOptions();
- runner.loadInitialProperties();
-
- final WebServerBootstrapper bootstrapper = new WebServerBootstrapper(runner);
- bootstrapper.bootstrap(null);
- jettyServer = bootstrapper.getJettyServer();
+
+ // create and start
+ jettyServer = createJettyServerAndBindConfig(isisConfigurationBuilder);
+
+ final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration();
+ final String startupModeStr = configuration.getString(
+ EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY, EMBEDDED_WEB_SERVER_STARTUP_MODE_DEFAULT);
+ final StartupMode startupMode = StartupMode.lookup(startupModeStr);
+
+ start(jettyServer, startupMode);
}
- private void addOptionHandlersAndValidators(IsisRunner runner) {
+ private static List<OptionHandler> standardHandlers() {
+ return Lists.newArrayList(
+ new OptionHandlerConfiguration(),
+ new OptionHandlerFixture(),
+ new OptionHandlerAppManifest(),
+ new OptionHandlerAdditionalProperty(),
+ new OptionHandlerFixtureFromEnvironmentVariable(),
+ new OptionHandlerSystemProperties(),
+ new OptionHandlerHelp(),
+ new OptionHandlerVersion(),
+ new OptionHandlerPort(),
+ new OptionHandlerDeploymentTypeWebServer()
+ );
+ }
+
+ // REVIEW: hacky...
+ private static String guessConfigDirectory() {
+ return new File(ConfigurationConstants.WEBINF_FULL_DIRECTORY).exists() ?
+ ConfigurationConstants.WEBINF_FULL_DIRECTORY :
+ ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY;
+ }
+
+
+ private Server createJettyServerAndBindConfig(final IsisConfigurationBuilder configurationBuilder) {
+
+ // the Isis system is actually bootstrapped by the ServletContextInitializer in the web.xml
+ final IsisConfiguration configuration = configurationBuilder.peekConfiguration();
+ final int port = configuration.getInteger(
+ EMBEDDED_WEB_SERVER_PORT_KEY, EMBEDDED_WEB_SERVER_PORT_DEFAULT);
+ final String webappContextPath = configuration.getString(
+ EMBEDDED_WEB_SERVER_RESOURCE_BASE_KEY, EMBEDDED_WEB_SERVER_RESOURCE_BASE_DEFAULT);
+
+ LOG.info("Running Jetty on port '{}' to serve the web application", port);
+
+ final Server jettyServer = new Server(port);
+ final WebAppContext context = new WebAppContext(SRC_MAIN_WEBAPP, webappContextPath);
+ jettyServer.setHandler(context);
+
+ context.setAttribute(WebAppConstants.CONFIGURATION_BUILDER_KEY, configurationBuilder);
- // adjustments
- runner.addOptionHandler(new OptionHandlerPort());
+ return jettyServer;
+ }
- // unused
- // runner.addOptionHandler(new OptionHandlerAddress());
+ private static void start(final Server jettyServer, final StartupMode startupMode) {
+ long start = System.currentTimeMillis();
+ try {
+ jettyServer.start();
+ LOG.info("Started the application in {}ms", System.currentTimeMillis() - start);
+ if (startupMode.isForeground()) {
+ System.in.read();
+ System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
+ jettyServer.stop();
+ jettyServer.join();
+ }
+ } catch (final Exception ex) {
+ throw new IsisException("Unable to start Jetty server", ex);
+ }
+ }
+
+ @SuppressWarnings("unused")
+ private void copyDeploymentTypeIntoInitParams(final WebAppContext context) {
+ Map<String, String> initParams = context.getInitParams();
+ Map<String, String> convertedInitParams = ObjectExtensions.asT(initParams);
+ initParams.clear();
+ initParams.putAll(convertedInitParams);
+ }
- // too obscure
- // runner.addOptionHandler(new OptionHandlerResourceBase());
- // REVIEW: clashes with -a flag.
- //runner.addOptionHandler(new OptionHandlerStartupMode());
+ /**
+ * Set of locations to search for config files.
+ */
+ private static List<ResourceStreamSource> resourceStreamSources() {
+ final List<ResourceStreamSource> rssList = Lists.newArrayList();
+ rssList.addAll(Arrays.asList(
+ ResourceStreamSourceFileSystem.create(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY),
+ ResourceStreamSourceFileSystem.create(ConfigurationConstants.WEBINF_FULL_DIRECTORY),
+ ResourceStreamSourceContextLoaderClassPath.create(),
+ ResourceStreamSourceContextLoaderClassPath.create(ConfigurationConstants.WEBINF_DIRECTORY)));
+ return rssList;
}
public void stop() {
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
deleted file mode 100644
index ee6e5f4..0000000
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.webserver;
-
-import java.util.List;
-import java.util.Map;
-
-import com.google.inject.Injector;
-
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.webapp.WebAppContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.lang.ObjectExtensions;
-import org.apache.isis.core.runtime.runner.IsisBootstrapper;
-import org.apache.isis.core.runtime.runner.IsisRunner;
-import org.apache.isis.core.webapp.WebAppConstants;
-import org.apache.isis.core.webserver.WebServer.StartupMode;
-
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_PORT_DEFAULT;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_PORT_KEY;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_RESOURCE_BASE_DEFAULT;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_RESOURCE_BASE_KEY;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_STARTUP_MODE_DEFAULT;
-import static org.apache.isis.core.webserver.WebServerConstants.EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY;
-
-final class WebServerBootstrapper implements IsisBootstrapper {
-
- private static final Logger LOG = LoggerFactory.getLogger(WebServerBootstrapper.class);
- private static final String SRC_MAIN_WEBAPP = "src/main/webapp";
-
- private final IsisRunner runner;
-
- private Server jettyServer;
-
- WebServerBootstrapper(final IsisRunner runner) {
- this.runner = runner;
- }
-
- /**
- * ignores the arguments and just bootstraps JettyViewer, come what may.
- */
- @Override
- public void bootstrap(final Injector injector) {
-
- final IsisConfigurationBuilder isisConfigurationBuilder = runner.getStartupConfiguration();
-
- // we don't actually bootstrap the system here; instead we expect it to
- // be bootstrapped
- // from the ServletContextInitializer in the web.xml
- final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration();
- final int port = configuration.getInteger(EMBEDDED_WEB_SERVER_PORT_KEY, EMBEDDED_WEB_SERVER_PORT_DEFAULT);
- final String webappContextPath = configuration.getString(EMBEDDED_WEB_SERVER_RESOURCE_BASE_KEY, EMBEDDED_WEB_SERVER_RESOURCE_BASE_DEFAULT);
- final StartupMode startupMode = StartupMode.lookup(configuration.getString(EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY, EMBEDDED_WEB_SERVER_STARTUP_MODE_DEFAULT));
- // TODO get and use the address
-
- jettyServer = new Server(port);
- final WebAppContext context = new WebAppContext(SRC_MAIN_WEBAPP, webappContextPath);
-
- copyConfigurationPrimersIntoServletContext(context);
-
- jettyServer.setHandler(context);
-
- LOG.info("Starting Jetty on port '{}' to serve the web application", port);
- long start = System.currentTimeMillis();
- try {
- jettyServer.start();
- LOG.info("Started the application in {}ms", System.currentTimeMillis() - start);
- if (startupMode.isForeground()) {
- System.in.read();
- System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
- jettyServer.stop();
- jettyServer.join();
- }
- } catch (final Exception ex) {
- throw new IsisException("Unable to start Jetty server", ex);
- }
- }
-
- public Server getJettyServer() {
- return jettyServer;
- }
-
- /**
- * Bound to the {@link WebAppContext} so that they can be used when
- * bootstrapping.
- *
- * @param context
- */
- @SuppressWarnings("unchecked")
- private void copyConfigurationPrimersIntoServletContext(final WebAppContext context) {
- final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = (List<IsisConfigurationBuilderPrimer>) (List<?>) runner.getOptionHandlers();
- context.setAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY, isisConfigurationBuilderPrimers);
- }
-
- @SuppressWarnings("unused")
- private void copyDeploymentTypeIntoInitParams(final WebAppContext context) {
- Map<String, String> initParams = context.getInitParams();
- Map<String, String> convertedInitParams = ObjectExtensions.asT(initParams);
- initParams.clear();
- initParams.putAll(convertedInitParams);
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerAddress.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerAddress.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerAddress.java
index ef1512e..87537f1 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerAddress.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerAddress.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandler;
import org.apache.isis.core.webserver.WebServerConstants;
@@ -55,7 +55,7 @@ public final class OptionHandlerAddress implements OptionHandler {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (address == null) {
return;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerPort.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerPort.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerPort.java
index 922b567..f84589a 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerPort.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerPort.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.commons.lang.ArrayExtensions;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandler;
@@ -60,7 +60,7 @@ public final class OptionHandlerPort implements OptionHandler {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (port == null) {
return;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerResourceBase.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerResourceBase.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerResourceBase.java
index 5000fd1..4a2c965 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerResourceBase.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerResourceBase.java
@@ -24,7 +24,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandler;
import org.apache.isis.core.webserver.WebServerConstants;
@@ -52,7 +52,7 @@ public final class OptionHandlerResourceBase implements OptionHandler {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (resourceBase == null) {
return;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
index 7ea9002..4e7d865 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
@@ -24,7 +24,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.commons.lang.ArrayExtensions;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandler;
@@ -56,7 +56,7 @@ public final class OptionHandlerStartupMode implements OptionHandler {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (startupMode != null) {
isisConfigurationBuilder.add(WebServerConstants.EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY, startupMode.name());
}
[4/4] isis git commit: ISIS-1406: lots more refactoring around
IsisConfiguration and IsisConfigurationBuilder.
Posted by da...@apache.org.
ISIS-1406: lots more refactoring around IsisConfiguration and IsisConfigurationBuilder.
specifically:
- simplified IsisConfigurationBuilder, now a single class (rather than an interface with 4 different impls, only 2 of which were used).
- removed IsisRunner, so that the command line options are now a responsibility of the IsisConfigurationBuilder
- IsisConfigurationBuilder is passed from o.a.i.WebServer to IsisWicketApplication (not just the "primers"
- removed OptionValidator, wasn't being used
- FacetFactoryAbstract responsible for providing IsisConfiguration to all subclass impls
- InstallerLookup simplified, no longer responsible for appending to the IsisConfigurationBuilder
- InstallerAbstract impls now all have the IsisConfiguration injected into them (constructor injection).
- removed duplication between IsisWebAppBootstrapper and IsisWicketApplication
As of this commit the app runs, but the fixtures are not being automatically installed.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/74565888
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/74565888
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/74565888
Branch: refs/heads/ISIS-1406
Commit: 7456588834a18ff4b47e59af93e1ccaa29912457
Parents: dcaab8e
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu May 19 13:53:08 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu May 19 13:53:08 2016 +0100
----------------------------------------------------------------------
.../integtestsupport/IsisSystemForTest.java | 2 +-
.../isis/core/commons/components/Installer.java | 34 --
.../commons/components/InstallerAbstract.java | 117 ++++++
.../core/commons/config/InstallerAbstract.java | 176 ---------
.../core/commons/config/IsisConfiguration.java | 3 +-
.../config/IsisConfigurationBuilder.java | 73 ----
.../config/IsisConfigurationBuilderAware.java | 25 --
.../config/IsisConfigurationBuilderDefault.java | 76 ----
.../IsisConfigurationBuilderFileSystem.java | 57 ---
.../config/IsisConfigurationBuilderPrimer.java | 26 --
...IsisConfigurationBuilderResourceStreams.java | 289 ---------------
.../config/IsisConfigurationDefault.java | 4 -
.../isis/core/commons/config/JmxBeanServer.java | 73 ----
.../core/commons/config/PropertiesReader.java | 54 ---
.../isis/core/commons/config/package-info.java | 2 +-
.../ConfigurationResourceAndPolicy.java | 46 +++
.../configbuilder/IsisConfigurationBuilder.java | 371 +++++++++++++++++++
.../commons/configbuilder/PropertiesReader.java | 54 +++
.../isis/core/commons/factory/InstanceUtil.java | 69 +++-
.../isis/core/commons/jmx/JmxBeanServer.java | 67 ++++
...sourceStreamSourceChainOfResponsibility.java | 3 +
.../metamodel/facets/FacetFactoryAbstract.java | 11 +-
...llectionIdentifyingFacetFactoryAbstract.java | 14 -
.../action/ActionAnnotationFacetFactory.java | 20 +-
.../paged/PagedFacetOnActionFactory.java | 10 +-
.../CollectionAnnotationFacetFactory.java | 7 +-
.../paged/PagedFacetOnCollectionFactory.java | 10 +-
.../facets/fallback/FallbackFacetFactory.java | 16 -
...FacetOnActionFromConfiguredRegexFactory.java | 18 +-
.../annotprop/CssClassFacetOnMemberFactory.java | 7 +-
.../CssClassFaFacetOnMemberFactory.java | 8 +-
.../ViewModelSemanticCheckingFacetFactory.java | 14 +-
...FacetAnnotationElseConfigurationFactory.java | 26 +-
.../DomainObjectAnnotationFacetFactory.java | 26 +-
.../DomainObjectLayoutFacetFactory.java | 19 +-
...FacetAnnotationElseConfigurationFactory.java | 20 +-
...FacetAnnotationElseConfigurationFactory.java | 25 +-
...ueFacetAnnotationOrConfigurationFactory.java | 24 +-
...ValueFacetUsingSemanticsProviderFactory.java | 14 -
.../PropertyAnnotationFacetFactory.java | 8 +-
.../ConfigurationServiceInternal.java | 2 -
.../facetprocessor/FacetProcessor.java | 1 -
...icationManagerStandardInstallerAbstract.java | 14 +-
...izationManagerStandardInstallerAbstract.java | 20 +-
.../runtime/optionhandler/OptionHandler.java | 11 +-
.../runtime/runner/opts/OptionValidator.java | 28 ++
.../IsisConfigurationBuilderForWebapp.java | 44 ---
.../progmodels/dflt/JavaReflectorInstaller.java | 5 +
.../JavaReflectorInstallerNoDecorators.java | 47 ++-
.../ConfigurationBuilderFileSystemTest.java | 76 ----
...ourceStreamsConfigResourceAndPolicyTest.java | 47 ---
.../ConfigurationBuilderTwoDirectoriesTest.java | 37 --
...ourceStreamsConfigResourceAndPolicyTest.java | 49 +++
.../ObjectReflectorDefaultTestAbstract.java | 3 -
...StandardInstallerAbstractForDfltRuntime.java | 7 +-
.../fixtures/FixturesInstallerAbstract.java | 7 +-
.../FixturesInstallerFromConfiguration.java | 9 +-
.../runtime/fixtures/FixturesInstallerNoop.java | 44 ---
.../installerregistry/InstallerLookup.java | 8 +-
.../PersistenceMechanismInstaller.java | 5 +-
.../core/runtime/runner/IsisBootstrapper.java | 29 --
.../isis/core/runtime/runner/IsisRunner.java | 276 --------------
.../opts/OptionHandlerAdditionalProperty.java | 4 +-
.../runner/opts/OptionHandlerAppManifest.java | 6 +-
.../runner/opts/OptionHandlerConfiguration.java | 4 +-
.../runtime/runner/opts/OptionHandlerDebug.java | 4 +-
.../opts/OptionHandlerDeploymentType.java | 10 +-
.../runner/opts/OptionHandlerDiagnostics.java | 4 +-
.../opts/OptionHandlerFixtureAbstract.java | 4 +-
...onHandlerFixtureFromEnvironmentVariable.java | 4 +-
.../runtime/runner/opts/OptionHandlerHelp.java | 4 +-
.../opts/OptionHandlerInitParameters.java | 4 +-
.../runner/opts/OptionHandlerNoSplash.java | 4 +-
.../runner/opts/OptionHandlerPassword.java | 4 +-
.../runtime/runner/opts/OptionHandlerQuiet.java | 4 +-
.../runner/opts/OptionHandlerReflector.java | 4 +-
.../opts/OptionHandlerSystemProperties.java | 4 +-
.../runtime/runner/opts/OptionHandlerUser.java | 4 +-
.../runner/opts/OptionHandlerVerbose.java | 4 +-
.../runner/opts/OptionHandlerVersion.java | 4 +-
.../runtime/runner/opts/OptionValidator.java | 28 --
.../OptionValidatorUserAndPasswordCombo.java | 48 ---
.../runtime/services/ServicesInstaller.java | 4 +-
.../services/ServicesInstallerAbstract.java | 10 +-
.../ServicesInstallerFromAnnotation.java | 67 +++-
.../ServicesInstallerFromConfiguration.java | 16 +-
...InstallerFromConfigurationAndAnnotation.java | 33 +-
.../core/runtime/system/IsisSystemFactory.java | 3 -
.../system/persistence/PersistenceSession.java | 28 +-
.../IsisComponentProviderDefault2.java | 26 +-
.../IsisComponentProviderUsingInstallers.java | 4 +-
.../core/webapp/IsisWebAppBootstrapper.java | 142 +++----
.../isis/core/webapp/WebAppConstants.java | 13 +-
...ataNucleusPersistenceMechanismInstaller.java | 24 +-
.../ShiroAuthenticationManagerInstaller.java | 17 +-
.../ShiroAuthorizationManagerInstaller.java | 10 +-
.../BypassAuthenticationManagerInstaller.java | 10 +-
.../BypassAuthorizationManagerInstaller.java | 8 +-
.../wicket/viewer/IsisWicketApplication.java | 80 +---
.../wicket/viewer/IsisWicket_providers.java | 2 +-
.../apache/isis/core/webserver/WebServer.java | 180 ++++++---
.../core/webserver/WebServerBootstrapper.java | 125 -------
.../internal/OptionHandlerAddress.java | 4 +-
.../webserver/internal/OptionHandlerPort.java | 4 +-
.../internal/OptionHandlerResourceBase.java | 4 +-
.../internal/OptionHandlerStartupMode.java | 4 +-
106 files changed, 1326 insertions(+), 2335 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
index 475420e..82bf0d5 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
@@ -240,7 +240,7 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
Joiner.on(",").join(packagePrefixes)
);
- final ServicesInstaller installer = new ServicesInstallerFromConfigurationAndAnnotation();
+ final ServicesInstaller installer = new ServicesInstallerFromConfigurationAndAnnotation(configuration);
//installer.setConfiguration(configuration);
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Installer.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Installer.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Installer.java
index b756b19..48badad 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Installer.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/components/Installer.java
@@ -49,47 +49,13 @@ public interface Installer extends ApplicationScopedComponent {
* Because all implementations of a given subinterface of {@link Installer}
* should return the same value for this method, by convention these
* subinterfaces define a constant which the implementation can just return.
- *
- * <p>
- * Used, with {@link #getName()}, to determine the config files and config
- * keys for this installer.
- *
- * @see #getConfigurationResources()
*/
String getType();
/**
* The name (qualified by type).
- *
- * <p>
- * Used, with {@link #getType()}, to determine the config files and config
- * keys for this installer.
- *
- * @see #getConfigurationResources()
*/
String getName();
- /**
- * The configuration resources (files) to merge in configuration properties.
- *
- * <p>
- * For example, would return list of [<tt>persistor.properties</tt>, and
- * <tt>persistor_in-memory.properties</tt>] for the in-memory object store.
- *
- * <p>
- * The implementation should look under keys prefixed either
- * <tt>isis.persistor</tt> or <tt>isis.persistor.in-memory</tt>.
- *
- * <p>
- * Note that we use an '_' underscore to join the {@link #getType() type}
- * and {@link #getName() name} in the filenames, but a '.' (period) for the
- * keys.
- */
- List<String> getConfigurationResources();
-
- /**
- * The (classes of) the types that this installer makes available in the
- * {@link #getModule() module}.
- */
List<Class<?>> getTypes();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java
new file mode 100644
index 0000000..a9238ab
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.commons.components;
+
+import java.util.Collections;
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+
+public abstract class InstallerAbstract implements Installer {
+
+ //region > constructor, fields
+
+ private final String type;
+ private final String name;
+ private final IsisConfigurationDefault isisConfiguration;
+
+ /**
+ * Subclasses should pass in the type defined as a constant in the
+ * subinterface of Installer.
+ *
+ * <p>
+ * For example, <tt>PersistenceMechanismInstaller</tt> has a constant
+ * <tt>PersistenceMechanismInstaller#TYPE</tt>. Any implementation of
+ * <tt>PersistenceMechanismInstaller</tt> should pass this constant value up
+ * to this constructor.
+ */
+ public InstallerAbstract(
+ final String type,
+ final String name,
+ final IsisConfigurationDefault isisConfiguration) {
+ this.type = type;
+ this.name = name;
+ this.isisConfiguration = isisConfiguration;
+ }
+
+ //endregion
+
+ //region > type, name
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ //endregion
+
+ //region > configuration (injected)
+
+ public IsisConfigurationDefault getConfiguration() {
+ return isisConfiguration;
+ }
+ //endregion
+
+ //region > init, shutdown
+
+ /**
+ * Default implementation does nothing.
+ */
+ public void init() {
+ // no-op implementation, subclasses may override!
+ }
+
+ /**
+ * Default implementation does nothing.
+ */
+ public void shutdown() {
+ // no-op implementation, subclasses may override!
+ }
+
+ //endregion
+
+ //region > helpers (for subclasses)
+
+ /**
+ * Helper for subclasses implementing {@link #getTypes()}.
+ */
+ protected static List<Class<?>> listOf(final Class<?>... classes) {
+ return Collections.unmodifiableList(Lists.<Class<?>> newArrayList(classes));
+ }
+
+ /**
+ * Helper for subclasses implementing {@link #getTypes()}.
+ */
+ protected static List<Class<?>> listOf(final List<Class<?>> classList, final Class<?>... classes) {
+ final List<Class<?>> arrayList = Lists.<Class<?>> newArrayList(classes);
+ arrayList.addAll(0, classList);
+ return Collections.unmodifiableList(arrayList);
+ }
+
+ //endregion
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java
deleted file mode 100644
index 21048ef..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/InstallerAbstract.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import java.util.Collections;
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.core.commons.components.Installer;
-
-public abstract class InstallerAbstract implements Installer, IsisConfigurationBuilderAware {
-
- private final String type;
- private final String name;
-
- private IsisConfigurationBuilder isisConfigurationBuilder;
- private IsisConfiguration configuration;
-
- /**
- * Subclasses should pass in the type defined as a constant in the
- * subinterface of Installer.
- *
- * <p>
- * For example, <tt>PersistenceMechanismInstaller</tt> has a constant
- * <tt>PersistenceMechanismInstaller#TYPE</tt>. Any implementation of
- * <tt>PersistenceMechanismInstaller</tt> should pass this constant value up
- * to this constructor.
- */
- public InstallerAbstract(final String type, final String name) {
- this.type = type;
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * Returns <tt>[type.properties, type_name.properties</tt>.
- *
- * <p>
- * For example,
- * <tt>[persistor.properties, persistor_in-memory.properties]</tt>.
- *
- * @see #getType()
- * @see #getName()
- */
- @Override
- public List<String> getConfigurationResources() {
- final List<String> resourceList = Lists.newArrayList();
- final String componentImplementationFile = getType() + "_" + getName() + ".properties";
- resourceList.add(componentImplementationFile);
- final String componentFile = getType() + ".properties";
- resourceList.add(componentFile);
- addConfigurationResources(resourceList);
- return Collections.unmodifiableList(resourceList);
- }
-
- /**
- * Optional hook method to allow subclasses to specify any additional config
- * resources.
- */
- protected void addConfigurationResources(final List<String> configurationResources) {
- }
-
- // ////////////////////////////////////////////////////
- // init, shutdown
- // ////////////////////////////////////////////////////
-
- /**
- * Default implementation does nothing.
- */
- public void init() {
- // no-op implementation, subclasses may override!
- }
-
- /**
- * Default implementation does nothing.
- */
- public void shutdown() {
- // no-op implementation, subclasses may override!
- }
-
- /**
- * Either this method or {@link #setConfiguration(IsisConfiguration)} should
- * be called prior to calling {@link #getConfiguration()}.
- *
- * <p>
- * If a {@link #setConfiguration(IsisConfiguration) configuration} has
- * already been provided, then throws {@link IllegalStateException}.
- */
- @Override
- public void setConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
- if (configuration != null) {
- throw new IllegalStateException("A IsisConfiguration has already been provided.");
- }
- this.isisConfigurationBuilder = isisConfigurationBuilder;
- }
-
- /**
- * Either this method or
- * {@link #setConfigurationBuilder(IsisConfigurationBuilder)} should be
- * called prior to calling {@link #getConfiguration()}.
- *
- * <p>
- * If a {@link #setConfigurationBuilder(IsisConfigurationBuilder)
- * configuration builder} has already been provided, then throws
- * {@link IllegalStateException}.
- */
- public void setConfiguration(final IsisConfiguration configuration) {
- if (isisConfigurationBuilder != null) {
- throw new IllegalStateException("An IsisConfigurationBuilder has already been provided.");
- }
- this.configuration = configuration;
- }
-
- /**
- * Returns a <i>snapshot</i> of the current configuration provided by the
- * {@link #setConfigurationBuilder(IsisConfigurationBuilder) injected}
- * {@link IsisConfigurationBuilder}.
- *
- * <p>
- * Implementation note: the implementation is in fact just
- * {@link InstallerLookup}.
- */
- public IsisConfiguration getConfiguration() {
- if (isisConfigurationBuilder != null) {
- return isisConfigurationBuilder.getConfiguration();
- } else if (configuration != null) {
- return configuration;
- } else {
- throw new IllegalStateException("Neither a ConfigurationBuilder nor Configuration has not been provided");
- }
- }
-
- /**
- * Helper for subclasses implementing {@link #getTypes()}.
- */
- protected static List<Class<?>> listOf(final Class<?>... classes) {
- return Collections.unmodifiableList(Lists.<Class<?>> newArrayList(classes));
- }
-
- /**
- * Helper for subclasses implementing {@link #getTypes()}.
- */
- protected static List<Class<?>> listOf(final List<Class<?>> classList, final Class<?>... classes) {
- final List<Class<?>> arrayList = Lists.<Class<?>> newArrayList(classes);
- arrayList.addAll(0, classList);
- return Collections.unmodifiableList(arrayList);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java
index 59e8039..12a0c11 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfiguration.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
import java.util.Map;
import org.apache.isis.core.commons.components.ApplicationScopedComponent;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.commons.resource.ResourceStreamSource;
/**
@@ -43,8 +44,6 @@ import org.apache.isis.core.commons.resource.ResourceStreamSource;
*/
public interface IsisConfiguration extends Iterable<String>, ApplicationScopedComponent {
- void injectInto(Object candidate);
-
/**
* Creates a new IsisConfiguration containing the properties starting with
* the specified prefix. The names of the new properties will have the
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java
deleted file mode 100644
index c118c87..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceChainOfResponsibility;
-
-/**
- * Holds a mutable set of properties representing the configuration.
- *
- * <p>
- * Mutable/immutable pair with the {@link IsisConfiguration}. To obtain the
- * configuration, use {@link #getConfiguration()}.
- *
- * @see IsisConfiguration for more details on the mutable/immutable pair
- * pattern.
- */
-public interface IsisConfigurationBuilder {
-
- void injectInto(Object candidate);
-
- /**
- * Returns a currently known {@link IsisConfiguration}.
- */
- IsisConfigurationDefault getConfiguration();
-
- void addDefaultConfigurationResources();
-
- void addConfigurationResource(final String installerName, final NotFoundPolicy notFoundPolicy);
-
- /**
- * Adds additional property; if already present then will _not_ be replaced.
- */
- void add(final String key, final String value);
-
- /**
- * Adds/updates property; if already present then _will_ be replaced.
- */
- void put(final String key, final String value);
-
- /**
- * The underlying {@link ResourceStreamSource} from which the configuration
- * is being read.
- *
- * <p>
- * Note that this may be a {@link ResourceStreamSourceChainOfResponsibility composite}.
- */
- ResourceStreamSource getResourceStreamSource();
-
- /**
- * Log a summary of resources found or not found.
- */
- void dumpResourcesToLog();
-
- void lockConfiguration();
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java
deleted file mode 100644
index 07023b7..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderAware.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-public interface IsisConfigurationBuilderAware {
-
- void setConfigurationBuilder(IsisConfigurationBuilder configurationLoader);
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java
deleted file mode 100644
index ed06d2b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderDefault.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import com.google.common.collect.Lists;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
-
-/**
- * Convenience implementation of {@link IsisConfigurationBuilder} that loads
- * configuration resource as per {@link IsisConfigurationBuilderFileSystem} and
- * otherwise from the {@link ResourceStreamSourceContextLoaderClassPath
- * classpath}.
- *
- * @see ResourceStreamSourceFileSystem
- */
-public class IsisConfigurationBuilderDefault extends IsisConfigurationBuilderResourceStreams {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(IsisConfigurationBuilderDefault.class);
-
- public IsisConfigurationBuilderDefault() {
- super(resourceStreamSources(null));
- }
-
- public IsisConfigurationBuilderDefault(final String firstDirectory) {
- super(resourceStreamSources(firstDirectory));
- }
-
- private static ResourceStreamSource[] resourceStreamSources(final String firstDirectory) {
- final ArrayList<ResourceStreamSource> rssList = Lists.newArrayList();
- if (firstDirectory != null) {
- rssList.add(fromFileSystem(firstDirectory));
- }
- rssList.addAll(Arrays.asList(fromFileSystem(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY), fromFileSystem(ConfigurationConstants.WEBINF_FULL_DIRECTORY), fromClassPath(), fromClassPath(ConfigurationConstants.WEBINF_DIRECTORY)));
- return rssList.toArray(new ResourceStreamSource[0]);
- }
-
- private static ResourceStreamSource fromFileSystem(final String directory) {
- return ResourceStreamSourceFileSystem.create(directory);
- }
-
- private static ResourceStreamSource fromClassPath() {
- return ResourceStreamSourceContextLoaderClassPath.create();
- }
-
- private static ResourceStreamSource fromClassPath(final String prefix) {
- return ResourceStreamSourceContextLoaderClassPath.create(prefix);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java
deleted file mode 100644
index f481ce7..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderFileSystem.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceChainOfResponsibility;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
-
-/**
- * Convenience implementation of {@link IsisConfigurationBuilder} that loads
- * configuration resource from a specified directory (or directories) on the
- * filesystem.
- *
- * @see ResourceStreamSourceFileSystem
- */
-public class IsisConfigurationBuilderFileSystem extends IsisConfigurationBuilderResourceStreams {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(IsisConfigurationBuilderFileSystem.class);
-
- private static ResourceStreamSource createResourceStreamSource(final String... directories) {
- final ResourceStreamSourceChainOfResponsibility composite = new ResourceStreamSourceChainOfResponsibility();
- for (final String directory : directories) {
- composite.addResourceStreamSource(new ResourceStreamSourceFileSystem(directory));
- }
- return composite;
- }
-
- public IsisConfigurationBuilderFileSystem(final String... directories) {
- super(createResourceStreamSource(directories));
- }
-
- public IsisConfigurationBuilderFileSystem() {
- super(ResourceStreamSourceFileSystem.create(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java
deleted file mode 100644
index 70e4df8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderPrimer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-public interface IsisConfigurationBuilderPrimer {
-
- void primeConfigurationBuilder(IsisConfigurationBuilder isisConfigurationBuilder);
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java
deleted file mode 100644
index 695cfd9..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import com.google.common.base.Objects;
-import com.google.common.collect.Sets;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceChainOfResponsibility;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
-
-/**
- * Adapter for {@link IsisConfigurationBuilder}, loading the specified
- * configuration resource (file) from the given {@link ResourceStreamSource}(s).
- *
- * <p>
- * If a property is in multiple configuration resources then the latter
- * resources will overwrite the former.
- */
-public class IsisConfigurationBuilderResourceStreams implements IsisConfigurationBuilder {
-
- private static final Logger LOG = LoggerFactory.getLogger(IsisConfigurationBuilderResourceStreams.class);
-
- static class ConfigurationResourceAndPolicy {
- private final String configurationResource;
- private final NotFoundPolicy notFoundPolicy;
-
- public ConfigurationResourceAndPolicy(final String configurationResource, final NotFoundPolicy notFoundPolicy) {
- this.configurationResource = configurationResource;
- this.notFoundPolicy = notFoundPolicy;
- }
-
- public String getConfigurationResource() {
- return configurationResource;
- }
-
- public NotFoundPolicy getNotFoundPolicy() {
- return notFoundPolicy;
- }
-
- @Override
- public String toString() {
- return String.format("%s{%s}", configurationResource, notFoundPolicy);
- }
- }
-
- private final Set<String> configurationResourcesFound = Sets.newLinkedHashSet();
- private final Set<String> configurationResourcesNotFound = Sets.newLinkedHashSet();
- private final ResourceStreamSource resourceStreamSource;
- private final IsisConfigurationDefault configuration;
- private final List<ConfigurationResourceAndPolicy> configurationResources = new ArrayList<ConfigurationResourceAndPolicy>();
- private boolean locked;
-
- // ////////////////////////////////////////////////////////////
- // Constructor, initialization
- // ////////////////////////////////////////////////////////////
-
- private static ResourceStreamSource createComposite(final ResourceStreamSource... resourceStreamSources) {
- final ResourceStreamSourceChainOfResponsibility composite = new ResourceStreamSourceChainOfResponsibility();
- for (final ResourceStreamSource rss : resourceStreamSources) {
- if (rss == null) {
- continue;
- }
- composite.addResourceStreamSource(rss);
- }
- return composite;
- }
-
- public IsisConfigurationBuilderResourceStreams() {
- this(ResourceStreamSourceFileSystem.create(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY));
- }
-
- public IsisConfigurationBuilderResourceStreams(final ResourceStreamSource... resourceStreamSources) {
- this(createComposite(resourceStreamSources));
- }
-
- public IsisConfigurationBuilderResourceStreams(final ResourceStreamSource resourceStreamSource) {
- this.resourceStreamSource = resourceStreamSource;
- configuration = new IsisConfigurationDefault(resourceStreamSource);
- }
-
- public void addDefaultConfigurationResources() {
- addConfigurationResource(ConfigurationConstants.DEFAULT_CONFIG_FILE, NotFoundPolicy.FAIL_FAST);
- addConfigurationResource(ConfigurationConstants.WEB_CONFIG_FILE, NotFoundPolicy.CONTINUE); //web.properties
- addConfigurationResource("war.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("viewer_wicket.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("viewer_restful.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("viewer_restfulobjects.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("persistor_datanucleus.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("persistor.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("authentication_shiro.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("authentication_bypass.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("authentication.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("authorization_shiro.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("authorization_bypass.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("authorization.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("reflector_java.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("reflector.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("fixtures-installer_configuration.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("fixtures-installer_noop.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("fixtures-installer.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("services-installer_annotation.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("services-installer_configuration.properties", NotFoundPolicy.CONTINUE);
-
- addConfigurationResource("services-installer_configuration-and-annotation.properties", NotFoundPolicy.CONTINUE);
- addConfigurationResource("services-installer.properties", NotFoundPolicy.CONTINUE);
-
- }
-
- // ////////////////////////////////////////////////////////////
- // ResourceStreamSource
- // ////////////////////////////////////////////////////////////
-
- @Override
- public ResourceStreamSource getResourceStreamSource() {
- return resourceStreamSource;
- }
-
- // ////////////////////////////////////////////////////////////
- // populating or updating
- // ////////////////////////////////////////////////////////////
-
- /**
- * Registers the configuration resource (usually, a file) with the specified
- * name from the first {@link ResourceStreamSource} available.
- *
- * <p>
- * If the configuration resource cannot be found then the provided
- * {@link NotFoundPolicy} determines whether an exception is thrown or not.
- *
- * <p>
- * Must be called before {@link IsisConfigurationBuilder#getConfiguration()}; the resource is
- * actually read on {@link IsisConfigurationBuilder#getConfiguration()}.
- */
- @Override
- public synchronized void addConfigurationResource(final String configurationResource, final NotFoundPolicy notFoundPolicy) {
- LOG.debug("looking for properties file " + configurationResource);
- loadConfigurationResource(configuration, new ConfigurationResourceAndPolicy(configurationResource, notFoundPolicy));
- configurationResources.add(new ConfigurationResourceAndPolicy(configurationResource, notFoundPolicy));
- }
-
- @Override
- public synchronized void add(final String key, final String value) {
- if (locked) {
- throw new IsisException("Configuration has been locked and cannot be changed");
- }
- configuration.add(key, value);
- }
-
- @Override
- public synchronized void put(final String key, final String value) {
- if (locked) {
- throw new IsisException("Configuration has been locked and cannot be changed");
- }
- configuration.put(key, value);
- }
-
- public void lockConfiguration() {
- locked = true;
- }
-
- // ////////////////////////////////////////////////////////////
- // getConfiguration
- // ////////////////////////////////////////////////////////////
-
- /**
- * Returns the current {@link IsisConfiguration configuration}.
- */
- @Override
- public synchronized IsisConfigurationDefault getConfiguration() {
- if(!locked) {
- lockConfiguration();
- dumpResourcesToLog();
- }
- return configuration;
- }
-
- private void loadConfigurationResource(final IsisConfigurationDefault configuration, final ConfigurationResourceAndPolicy configResourceAndPolicy) {
- final String configurationResource = configResourceAndPolicy.getConfigurationResource();
- final NotFoundPolicy notFoundPolicy = configResourceAndPolicy.getNotFoundPolicy();
- LOG.debug("checking availability of configuration resource: " + configurationResource + ", notFoundPolicy: " + notFoundPolicy);
- loadConfigurationResource(configuration, configurationResource, notFoundPolicy);
- }
-
- /**
- * Loads the configuration resource (usually, a file) with the specified
- * name from the first {@link ResourceStreamSource} available.
- *
- * <p>
- * If the configuration resource cannot be found then the provided
- * {@link NotFoundPolicy} determines whether an exception is thrown or not.
- */
- protected void loadConfigurationResource(final IsisConfigurationDefault configuration, final String configurationResource, final NotFoundPolicy notFoundPolicy) {
- try {
- final PropertiesReader propertiesReader = loadConfigurationResource(resourceStreamSource, configurationResource);
- LOG.info("loading properties from " + configurationResource);
- configuration.add(propertiesReader.getProperties());
- configurationResourcesFound.add(configurationResource);
- return;
- } catch (final IOException ignore) { }
- if (notFoundPolicy == NotFoundPolicy.FAIL_FAST) {
- throw new IsisException("failed to load '" + configurationResource + "'; tried using: " + resourceStreamSource.getName());
- } else {
- configurationResourcesNotFound.add(configurationResource);
- LOG.debug("'" + configurationResource + "' not found, but not needed");
- }
- }
-
- private PropertiesReader loadConfigurationResource(final ResourceStreamSource resourceStreamSource, final String configurationResource) throws IOException {
- return new PropertiesReader(resourceStreamSource, configurationResource);
- }
-
-
- // TODO review this, should this option default to yes?
- private void addShowExplorationOptionsIfNotSpecified(final IsisConfigurationDefault configuration) {
- if (configuration.getString(ConfigurationConstants.SHOW_EXPLORATION_OPTIONS) == null) {
- configuration.add(ConfigurationConstants.SHOW_EXPLORATION_OPTIONS, "yes");
- }
- }
-
- // ////////////////////////////////////////////////////////////
- // Logging
- // ////////////////////////////////////////////////////////////
-
- @Override
- public void dumpResourcesToLog() {
- if (LOG.isInfoEnabled()) {
- LOG.info("Configuration resources FOUND:");
- for (String resource : configurationResourcesFound) {
- LOG.info("* " + resource);
- }
- LOG.info("Configuration resources NOT FOUND (but not needed):");
- for (String resource : configurationResourcesNotFound) {
- LOG.info("* " + resource);
- }
- }
- }
-
-
- // ////////////////////////////////////////////////////////////
- // Injectable
- // ////////////////////////////////////////////////////////////
-
- public void injectInto(final Object candidate) {
- if (IsisConfigurationBuilderAware.class.isAssignableFrom(candidate.getClass())) {
- final IsisConfigurationBuilderAware cast = IsisConfigurationBuilderAware.class.cast(candidate);
- cast.setConfigurationBuilder(this);
- }
- }
-
- @Override
- public String toString() {
- return Objects.toStringHelper(this).add("resourceStream", resourceStreamSource).add("configResources", configurationResources).toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
index 72f2c40..d433584 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
@@ -458,10 +458,6 @@ public class IsisConfigurationDefault implements IsisConfiguration, Configuratio
// ////////////////////////////////////////////////////////////////////
@Override
- public void injectInto(final Object candidate) {
- }
-
- @Override
public Map<String,String> asMap() {
final Map<String, String> map = Maps.newHashMap();
for(String propertyName: this) {
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/JmxBeanServer.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/JmxBeanServer.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/JmxBeanServer.java
deleted file mode 100644
index 71d7363..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/JmxBeanServer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.core.commons.config;
-
-import java.lang.management.ManagementFactory;
-
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.MBeanRegistrationException;
-import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
-import javax.management.NotCompliantMBeanException;
-import javax.management.ObjectName;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class JmxBeanServer {
-
- private static final Logger LOG = LoggerFactory.getLogger(JmxBeanServer.class);
-
- private static JmxBeanServer instance;
- private final MBeanServer server;
-
- private JmxBeanServer() {
- server = ManagementFactory.getPlatformMBeanServer();
- instance = this;
- }
-
- public static JmxBeanServer getInstance() {
- if (instance == null) {
- LOG.info("JMX bean server created");
- instance = new JmxBeanServer();
- }
- return instance;
- }
-
- public void register(final String name, final Object object) {
- try {
- final ObjectName objectName = new ObjectName("Isis:name=" + name);
- server.registerMBean(object, objectName);
- LOG.info(name + " JMX mbean registered: " + object);
- } catch (final MalformedObjectNameException e) {
- throw new RuntimeException(e);
- } catch (final NullPointerException e) {
- throw new RuntimeException(e);
- } catch (final InstanceAlreadyExistsException e) {
- LOG.info(name + " JMX mbean already registered: " + object);
- } catch (final MBeanRegistrationException e) {
- throw new RuntimeException(e);
- } catch (final NotCompliantMBeanException e) {
- throw new RuntimeException(e);
- }
-
- }
-}
-
-// Copyright (c) Naked Objects Group Ltd.
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java
deleted file mode 100644
index 7e5f09d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/PropertiesReader.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import org.apache.isis.core.commons.lang.CloseableExtensions;
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-
-/**
- * Loads properties using the specified {@link ResourceStreamSource}.
- */
-class PropertiesReader {
-
- private final Properties properties = new Properties();
-
- public PropertiesReader(final ResourceStreamSource resourceStream, final String configurationResource) throws IOException {
-
- InputStream in = null;
- try {
- in = resourceStream.readResource(configurationResource);
- if (in == null) {
- throw new IOException("Unable to find resource " + configurationResource);
- }
- properties.load(in);
- } finally {
- CloseableExtensions.closeSafely(in);
- }
- }
-
- public Properties getProperties() {
- return properties;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/config/package-info.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/package-info.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/package-info.java
index db80586..17030cf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/package-info.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/package-info.java
@@ -32,7 +32,7 @@
*
* <p>
* The {@link org.apache.isis.core.commons.config.ConfigurationBuilder} is used
- * by {@link org.apache.isis.core.commons.config.InstallerAbstract}, an
+ * by {@link org.apache.isis.core.commons.components.InstallerAbstract}, an
* implementation of {@link org.apache.isis.core.commons.components.Installer}
* that allows the configuration to be added to as each component is
* installed.
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/ConfigurationResourceAndPolicy.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/ConfigurationResourceAndPolicy.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/ConfigurationResourceAndPolicy.java
new file mode 100644
index 0000000..f36bb83
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/ConfigurationResourceAndPolicy.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.core.commons.configbuilder;
+
+import org.apache.isis.core.commons.config.NotFoundPolicy;
+
+class ConfigurationResourceAndPolicy {
+
+ private final String configurationResource;
+ private final NotFoundPolicy notFoundPolicy;
+
+ public ConfigurationResourceAndPolicy(
+ final String configurationResource,
+ final NotFoundPolicy notFoundPolicy) {
+ this.configurationResource = configurationResource;
+ this.notFoundPolicy = notFoundPolicy;
+ }
+
+ public String getConfigurationResource() {
+ return configurationResource;
+ }
+ public NotFoundPolicy getNotFoundPolicy() {
+ return notFoundPolicy;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("%s{%s}", configurationResource, notFoundPolicy);
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
new file mode 100644
index 0000000..ed229ef
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
@@ -0,0 +1,371 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.commons.configbuilder;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import com.google.common.base.Objects;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+
+import org.apache.commons.cli.BasicParser;
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.isis.core.commons.config.ConfigurationConstants;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.commons.config.NotFoundPolicy;
+import org.apache.isis.core.commons.exceptions.IsisException;
+import org.apache.isis.core.commons.resource.ResourceStreamSource;
+import org.apache.isis.core.commons.resource.ResourceStreamSourceChainOfResponsibility;
+import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
+import org.apache.isis.core.runtime.optionhandler.BootPrinter;
+import org.apache.isis.core.runtime.optionhandler.OptionHandler;
+
+/**
+ * Holds a mutable set of properties representing the configuration.
+ *
+ * This implementation loads the specified
+ * configuration resource (file) from the given {@link ResourceStreamSource}(s).
+ *
+ * <p>
+ * If a property is in multiple configuration resources then the latter
+ * resources will overwrite the former.
+ *
+ * <p>
+ * Mutable/immutable pair with the {@link IsisConfiguration}. To obtain the
+ * configuration, use {@link #getConfiguration()}.
+ *
+ * @see {@link IsisConfiguration} for more details on the mutable/immutable pair pattern.
+ *
+ */
+public final class IsisConfigurationBuilder {
+
+ private static final Logger LOG = LoggerFactory.getLogger(IsisConfigurationBuilder.class);
+
+ //region > constructor, fields
+
+ private final ResourceStreamSourceChainOfResponsibility resourceStreamSourceChain;
+ private final List<ConfigurationResourceAndPolicy> configurationResources = Lists.newArrayList();
+
+ private final IsisConfigurationDefault configuration;
+ private boolean locked;
+
+ private final Set<String> configurationResourcesFound = Sets.newLinkedHashSet();
+ private final Set<String> configurationResourcesNotFound = Sets.newLinkedHashSet();
+
+ public IsisConfigurationBuilder() {
+ this(ResourceStreamSourceFileSystem.create(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY));
+ }
+
+ public IsisConfigurationBuilder(final ResourceStreamSource... resourceStreamSources) {
+ this(createComposite(Arrays.asList(resourceStreamSources)));
+ }
+
+ public IsisConfigurationBuilder(final List<ResourceStreamSource> resourceStreamSources) {
+ this(createComposite(resourceStreamSources));
+ }
+
+ public IsisConfigurationBuilder(final ResourceStreamSourceChainOfResponsibility resourceStreamSourceChain) {
+ this.resourceStreamSourceChain = resourceStreamSourceChain;
+ configuration = new IsisConfigurationDefault(resourceStreamSourceChain);
+ }
+
+ private static ResourceStreamSourceChainOfResponsibility createComposite(
+ final List<ResourceStreamSource> resourceStreamSources) {
+ final ResourceStreamSourceChainOfResponsibility composite = new ResourceStreamSourceChainOfResponsibility();
+ for (final ResourceStreamSource rss : resourceStreamSources) {
+ if (rss == null) {
+ continue;
+ }
+ composite.addResourceStreamSource(rss);
+ }
+ return composite;
+ }
+
+ public void addDefaultConfigurationResources() {
+ addConfigurationResource(ConfigurationConstants.DEFAULT_CONFIG_FILE, NotFoundPolicy.FAIL_FAST);
+ addConfigurationResource(ConfigurationConstants.WEB_CONFIG_FILE, NotFoundPolicy.CONTINUE); //web.properties
+ addConfigurationResource("war.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("viewer_wicket.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("viewer_restful.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("viewer_restfulobjects.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("persistor_datanucleus.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("persistor.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("authentication_shiro.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("authentication_bypass.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("authentication.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("authorization_shiro.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("authorization_bypass.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("authorization.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("reflector_java.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("reflector.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("fixtures-installer_configuration.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("fixtures-installer.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("services-installer_annotation.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("services-installer_configuration.properties", NotFoundPolicy.CONTINUE);
+
+ addConfigurationResource("services-installer_configuration-and-annotation.properties", NotFoundPolicy.CONTINUE);
+ addConfigurationResource("services-installer.properties", NotFoundPolicy.CONTINUE);
+ }
+
+ //endregion
+
+ //region > addResourceStreamSource, addResourceStreamSources
+
+ public void addResourceStreamSource(final ResourceStreamSource resourceStreamSource) {
+ addResourceStreamSources(resourceStreamSource);
+ }
+
+ public void addResourceStreamSources(final ResourceStreamSource... resourceStreamSources) {
+ addResourceStreamSources(Arrays.asList(resourceStreamSources));
+ }
+
+ public void addResourceStreamSources(final List<ResourceStreamSource> resourceStreamSources) {
+ ensureNotLocked();
+ for (ResourceStreamSource resourceStreamSource : resourceStreamSources) {
+ this.resourceStreamSourceChain.addResourceStreamSource(resourceStreamSource);
+ }
+ }
+
+ //endregion
+
+ //region > addConfigurationResource
+
+ /**
+ * Registers the configuration resource (usually, a file) with the specified
+ * name from the first {@link ResourceStreamSource} available.
+ *
+ * <p>
+ * If the configuration resource cannot be found then the provided
+ * {@link NotFoundPolicy} determines whether an exception is thrown or not.
+ *
+ * <p>
+ * Must be called before {@link IsisConfigurationBuilder#getConfiguration()}; the resource is
+ * actually read on {@link IsisConfigurationBuilder#getConfiguration()}.
+ */
+ public synchronized void addConfigurationResource(
+ final String configurationResource,
+ final NotFoundPolicy notFoundPolicy) {
+
+ ensureNotLocked();
+
+ if(LOG.isDebugEnabled()) {
+ LOG.debug(String.format(
+ "checking availability of configuration resource: %s, notFoundPolicy: %s",
+ configurationResource, notFoundPolicy));
+ }
+ loadConfigurationResource(configurationResource, notFoundPolicy);
+ configurationResources.add(new ConfigurationResourceAndPolicy(configurationResource, notFoundPolicy));
+ }
+
+ /**
+ * Loads the configuration resource (usually, a file) with the specified
+ * name from the first {@link ResourceStreamSource} available.
+ *
+ * <p>
+ * If the configuration resource cannot be found then the provided
+ * {@link NotFoundPolicy} determines whether an exception is thrown or not.
+ */
+ private void loadConfigurationResource(
+ final String configurationResource,
+ final NotFoundPolicy notFoundPolicy) {
+ try {
+ final PropertiesReader propertiesReader =
+ loadConfigurationResource(resourceStreamSourceChain, configurationResource);
+ LOG.info("loading properties from " + configurationResource);
+ configuration.add(propertiesReader.getProperties());
+ configurationResourcesFound.add(configurationResource);
+ return;
+ } catch (final IOException ignore) {
+ // ignore
+ }
+ if (notFoundPolicy == NotFoundPolicy.FAIL_FAST) {
+ throw new IsisException(String.format(
+ "failed to load '%s'; tried using: %s",
+ configurationResource, resourceStreamSourceChain.getName()));
+ }
+ configurationResourcesNotFound.add(configurationResource);
+ if(LOG.isDebugEnabled()) {
+ LOG.debug(String.format("'%s' not found, but not needed", configurationResource));
+
+ }
+ }
+
+ private PropertiesReader loadConfigurationResource(final ResourceStreamSource resourceStreamSource, final String configurationResource) throws IOException {
+ return new PropertiesReader(resourceStreamSource, configurationResource);
+ }
+
+
+ //endregion
+
+ //region > add, put
+
+ /**
+ * Adds additional property; if already present then will _not_ be replaced.
+ */
+ public synchronized void add(final String key, final String value) {
+ ensureNotLocked();
+ configuration.add(key, value);
+ }
+
+ /**
+ * Adds/updates property; if already present then _will_ be replaced.
+ */
+ public synchronized void put(final String key, final String value) {
+ ensureNotLocked();
+ configuration.put(key, value);
+ }
+
+
+ //endregion
+
+ //region > parseAndPrimeWith, primeWith
+
+ public boolean parseAndPrimeWith(final List<OptionHandler> optionHandlers, final String[] args) {
+
+ // add options (ie cmd line flags)
+ final Options options = new Options();
+ for (final OptionHandler optionHandler : optionHandlers) {
+ optionHandler.addOption(options);
+ }
+
+ // parse options from the cmd line
+ final boolean parsedOk = parseAndPrimeWith(options, optionHandlers, args);
+
+ if(parsedOk) {
+ for (final OptionHandler optionHandler : optionHandlers) {
+ primeWith(optionHandler);
+ }
+ }
+
+ return parsedOk;
+ }
+
+ private boolean parseAndPrimeWith(final Options options, final List<OptionHandler> optionHandlers, final String[] args) {
+ final BootPrinter printer = new BootPrinter(getClass());
+ final CommandLineParser parser = new BasicParser();
+ try {
+ final CommandLine commandLine = parser.parse(options, args);
+ for (final OptionHandler optionHandler : optionHandlers) {
+ if (!optionHandler.handle(commandLine, printer, options)) {
+ return false;
+ }
+ }
+ } catch (final ParseException e) {
+ printer.printErrorMessage(e.getMessage());
+ printer.printHelp(options);
+ return false;
+ }
+ return true;
+ }
+
+ public void primeWith(final OptionHandler optionHandler) {
+ ensureNotLocked();
+
+ LOG.debug("priming configurations for '{}'", optionHandler);
+ optionHandler.prime(this);
+ }
+
+ //endregion
+
+ //region > getConfiguration, peekConfiguration, isLocked
+
+ /**
+ * Returns the {@link IsisConfiguration}; this will cause the configuration to be locked
+ */
+ public synchronized IsisConfigurationDefault getConfiguration() {
+ if(!locked) {
+ locked = true;
+ dumpResourcesToLog();
+ }
+ return configuration;
+ }
+
+ /**
+ * Set once {@link #getConfiguration()} is called.
+ */
+ public boolean isLocked() {
+ return locked;
+ }
+
+ /**
+ * Creates a copy of the current {@link #getConfiguration()}, without locking.
+ *
+ * <p>
+ * Used while bootstrapping, to obtain the web.server port etc.
+ * </p>
+ */
+ public synchronized IsisConfigurationDefault peekConfiguration() {
+ return new IsisConfigurationDefault(resourceStreamSourceChain);
+ }
+
+ private void ensureNotLocked() {
+ if (locked) {
+ throw new IsisException("Configuration has been locked and cannot be changed");
+ }
+ }
+
+ //endregion
+
+ //region > dumpResourcesToLog, toString
+
+ /**
+ * Log a summary of resources found or not found.
+ */
+ public void dumpResourcesToLog() {
+ if (LOG.isInfoEnabled()) {
+ LOG.info("Configuration resources FOUND:");
+ for (String resource : configurationResourcesFound) {
+ LOG.info("* " + resource);
+ }
+ LOG.info("Configuration resources NOT FOUND (but not needed):");
+ for (String resource : configurationResourcesNotFound) {
+ LOG.info("* " + resource);
+ }
+ }
+ }
+
+ @Override
+ public String toString() {
+ return Objects.toStringHelper(this)
+ .add("resourceStream", resourceStreamSourceChain)
+ .add("configResources", configurationResources).toString();
+ }
+
+ //endregion
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PropertiesReader.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PropertiesReader.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PropertiesReader.java
new file mode 100644
index 0000000..2c58d15
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PropertiesReader.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.commons.configbuilder;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.apache.isis.core.commons.lang.CloseableExtensions;
+import org.apache.isis.core.commons.resource.ResourceStreamSource;
+
+/**
+ * Loads properties using the specified {@link ResourceStreamSource}.
+ */
+class PropertiesReader {
+
+ private final Properties properties = new Properties();
+
+ public PropertiesReader(final ResourceStreamSource resourceStream, final String configurationResource) throws IOException {
+
+ InputStream in = null;
+ try {
+ in = resourceStream.readResource(configurationResource);
+ if (in == null) {
+ throw new IOException("Unable to find resource " + configurationResource);
+ }
+ properties.load(in);
+ } finally {
+ CloseableExtensions.closeSafely(in);
+ }
+ }
+
+ public Properties getProperties() {
+ return properties;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/factory/InstanceUtil.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/factory/InstanceUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/factory/InstanceUtil.java
index 2d29fdb..d9df199 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/factory/InstanceUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/factory/InstanceUtil.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.commons.factory;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
import org.apache.isis.core.commons.ensure.Assert;
import org.apache.isis.core.commons.lang.ObjectExtensions;
@@ -27,23 +30,27 @@ public final class InstanceUtil {
private InstanceUtil() {
}
- public static Object createInstance(final String className) {
- return createInstance(className, (Class<?>) null, null);
+ public static Object createInstance(final String className, Object... args) {
+ return createInstance(className, (Class<?>) null, null, args);
}
- public static Object createInstance(final Class<?> cls) {
- return createInstance(cls, (Class<?>) null, null);
+ public static Object createInstance(final Class<?> cls, Object... args) {
+ return createInstance(cls, (Class<?>) null, null, args);
}
- public static <T> T createInstance(final String className, final Class<T> requiredClass) {
- return createInstance(className, (Class<T>) null, requiredClass);
+ public static <T> T createInstance(final String className, final Class<T> requiredClass, Object... args) {
+ return createInstance(className, (Class<T>) null, requiredClass, args);
}
- public static <T> T createInstance(final Class<?> cls, final Class<T> requiredClass) {
- return createInstance(cls, (Class<T>) null, requiredClass);
+ public static <T> T createInstance(final Class<?> cls, final Class<T> requiredClass, Object... args) {
+ return createInstance(cls, (Class<T>) null, requiredClass, args);
}
- public static <T> T createInstance(final String className, final String defaultTypeName, final Class<T> requiredType) {
+ public static <T> T createInstance(
+ final String className,
+ final String defaultTypeName,
+ final Class<T> requiredType,
+ Object... args) {
Class<? extends T> defaultType = null;
if (defaultTypeName != null) {
try {
@@ -57,10 +64,14 @@ public final class InstanceUtil {
throw new InstanceCreationClassException(String.format("Default type '%s' found, but is missing a dependent class: %s", defaultTypeName, e.getMessage()), e);
}
}
- return createInstance(className, defaultType, requiredType);
+ return createInstance(className, defaultType, requiredType, args);
}
- public static <T> T createInstance(final Class<?> cls, final String defaultTypeName, final Class<T> requiredType) {
+ public static <T> T createInstance(
+ final Class<?> cls,
+ final String defaultTypeName,
+ final Class<T> requiredType,
+ Object... args) {
Class<? extends T> defaultType = null;
if (defaultTypeName != null) {
defaultType = loadClass(defaultTypeName, requiredType);
@@ -75,18 +86,21 @@ public final class InstanceUtil {
throw new InstanceCreationClassException(String.format("Default type '%s' found, but is missing a dependent class: %s", defaultTypeName, e.getMessage()), e);
}
}
- return createInstance(cls, defaultType, requiredType);
+ return createInstance(cls, defaultType, requiredType, args);
}
- public static <T> T createInstance(final String className, final Class<? extends T> defaultType, final Class<T> requiredType) {
+ public static <T> T createInstance(
+ final String className,
+ final Class<? extends T> defaultType,
+ final Class<T> requiredType,
+ Object... args) {
Assert.assertNotNull("Class to instantiate must be specified", className);
- Class<?> cls = null;
try {
- cls = Thread.currentThread().getContextClassLoader().loadClass(className);
+ final Class<?> cls = Thread.currentThread().getContextClassLoader().loadClass(className);
if (cls == null) {
throw new InstanceCreationClassException(String.format("Failed to load class '%s'", className));
}
- return createInstance(cls, defaultType, requiredType);
+ return createInstance(cls, defaultType, requiredType, args);
} catch (final ClassNotFoundException e) {
if (className.indexOf('.') == -1) {
throw new UnavailableClassException(String.format("The component '%s' cannot be found", className));
@@ -97,21 +111,38 @@ public final class InstanceUtil {
}
}
- public static <T> T createInstance(final Class<?> cls, final Class<? extends T> defaultType, final Class<T> requiredType) {
+ public static <T> T createInstance(
+ final Class<?> cls,
+ final Class<? extends T> defaultType,
+ final Class<T> requiredType,
+ Object... args) {
Assert.assertNotNull("Class to instantiate must be specified", cls);
try {
if (requiredType == null || requiredType.isAssignableFrom(cls)) {
final Class<T> tClass = ObjectExtensions.asT(cls);
- return tClass.newInstance();
+
+ if(args == null || args.length == 0) {
+ return tClass.newInstance();
+ } else {
+ Class<?>[] paramTypes = new Class[args.length];
+ for (int i = 0; i < args.length; i++) {
+ final Object arg = args[i];
+ paramTypes[i] = arg.getClass();
+ }
+ final Constructor<T> constructor = tClass.getConstructor(paramTypes);
+ return constructor.newInstance(args);
+ }
} else {
throw new InstanceCreationClassException(String.format("Class '%s' is not of type '%s'", cls.getName(), requiredType));
}
} catch (final NoClassDefFoundError e) {
throw new InstanceCreationClassException(String.format("Class '%s'found , but is missing a dependent class: %s", cls, e.getMessage()), e);
- } catch (final InstantiationException e) {
+ } catch (final InstantiationException | InvocationTargetException e) {
throw new InstanceCreationException(String.format("Could not instantiate an object of class '%s'; %s", cls.getName(), e.getMessage()));
} catch (final IllegalAccessException e) {
throw new InstanceCreationException(String.format("Could not access the class '%s'; %s", cls.getName(), e.getMessage()));
+ } catch (NoSuchMethodException e) {
+ throw new InstanceCreationException(String.format("Could not find constructor in the class '%s'; %s", cls.getName(), e.getMessage()));
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/jmx/JmxBeanServer.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/jmx/JmxBeanServer.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/jmx/JmxBeanServer.java
new file mode 100644
index 0000000..86a1e9d
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/jmx/JmxBeanServer.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.core.commons.jmx;
+
+import java.lang.management.ManagementFactory;
+
+import javax.management.InstanceAlreadyExistsException;
+import javax.management.MBeanRegistrationException;
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.NotCompliantMBeanException;
+import javax.management.ObjectName;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class JmxBeanServer {
+
+ private static final Logger LOG = LoggerFactory.getLogger(JmxBeanServer.class);
+
+ private static JmxBeanServer instance;
+ private final MBeanServer server;
+
+ private JmxBeanServer() {
+ server = ManagementFactory.getPlatformMBeanServer();
+ instance = this;
+ }
+
+ public static JmxBeanServer getInstance() {
+ if (instance == null) {
+ LOG.info("JMX bean server created");
+ instance = new JmxBeanServer();
+ }
+ return instance;
+ }
+
+ public void register(final String name, final Object object) {
+ try {
+ final ObjectName objectName = new ObjectName("Isis:name=" + name);
+ server.registerMBean(object, objectName);
+ LOG.info(name + " JMX mbean registered: " + object);
+ } catch (final MalformedObjectNameException | NullPointerException | MBeanRegistrationException | NotCompliantMBeanException e) {
+ throw new RuntimeException(e);
+ } catch (final InstanceAlreadyExistsException e) {
+ LOG.info(name + " JMX mbean already registered: " + object);
+ }
+
+ }
+}
+
+// Copyright (c) Naked Objects Group Ltd.
[3/4] isis git commit: ISIS-1406: lots more refactoring around
IsisConfiguration and IsisConfigurationBuilder.
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/commons/resource/ResourceStreamSourceChainOfResponsibility.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/resource/ResourceStreamSourceChainOfResponsibility.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/resource/ResourceStreamSourceChainOfResponsibility.java
index 152cb80..14cd7ee 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/resource/ResourceStreamSourceChainOfResponsibility.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/resource/ResourceStreamSourceChainOfResponsibility.java
@@ -40,6 +40,9 @@ public class ResourceStreamSourceChainOfResponsibility extends ResourceStreamSou
}
public void addResourceStreamSource(final ResourceStreamSource rss) {
+ if(rss == null) {
+ return;
+ }
this.resourceStreamSources.add(rss);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactoryAbstract.java
----------------------------------------------------------------------
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 f9811bd..98a63bf 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
@@ -24,9 +24,12 @@ import java.util.List;
import com.google.common.collect.ImmutableList;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
@@ -80,13 +83,15 @@ public abstract class FacetFactoryAbstract implements FacetFactory, Specificatio
return servicesInjector.lookupService(AuthenticationSessionProvider.class);
}
-
-
protected DeploymentCategory getDeploymentCategory() {
return servicesInjector.lookupService(DeploymentCategoryProvider.class).getDeploymentCategory();
}
-
+ protected IsisConfiguration getConfiguration() {
+ final ConfigurationServiceInternal configurationServiceInternal = servicesInjector
+ .lookupService(ConfigurationServiceInternal.class);
+ return (IsisConfigurationDefault)configurationServiceInternal;
+ }
protected ServicesInjector servicesInjector;
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/PropertyOrCollectionIdentifyingFacetFactoryAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/PropertyOrCollectionIdentifyingFacetFactoryAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/PropertyOrCollectionIdentifyingFacetFactoryAbstract.java
index 879d3eb..ed5580e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/PropertyOrCollectionIdentifyingFacetFactoryAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/PropertyOrCollectionIdentifyingFacetFactoryAbstract.java
@@ -65,21 +65,7 @@ public abstract class PropertyOrCollectionIdentifyingFacetFactoryAbstract
this.adapterManager = adapterManager;
}
- // //////////////////////////////////////
-
- private IsisConfiguration configuration;
-
- protected IsisConfiguration getConfiguration() {
- return configuration;
- }
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index d53a500..6f322da 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -88,7 +88,6 @@ import org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFace
import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
@@ -115,7 +114,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
private final MetaModelValidatorForDeprecatedAnnotation prototypeValidator = new MetaModelValidatorForDeprecatedAnnotation(Prototype.class);
- private IsisConfiguration configuration;
private AdapterManager adapterManager;
private TransactionStateProvider transactionStateProvider;
@@ -202,7 +200,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
actionDomainEventFacet.getEventType(),
ActionDomainEvent.Noop.class,
ActionDomainEvent.Default.class,
- "isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", this.configuration)) {
+ "isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", getConfiguration())) {
FacetUtil.addFacet(actionDomainEventFacet);
}
@@ -216,7 +214,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
actionInvocationFacet = actionInteractionValidator.flagIfPresent(
new ActionInvocationFacetForPostsActionInvokedEventAnnotation(
actionInvokedEventType, actionMethod, typeSpec, returnSpec, holder,
- getDeploymentCategory(), configuration, servicesInjector,
+ getDeploymentCategory(), getConfiguration(), servicesInjector,
getAuthenticationSessionProvider(), getAdapterManager(),
transactionStateProvider
), processMethodContext);
@@ -226,7 +224,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
actionInvocationFacet = actionInteractionValidator.flagIfPresent(
new ActionInvocationFacetForDomainEventFromActionInteractionAnnotation(
actionDomainEventType, actionMethod, typeSpec, returnSpec, holder,
- getDeploymentCategory(), configuration, servicesInjector,
+ getDeploymentCategory(), getConfiguration(), servicesInjector,
getAuthenticationSessionProvider(), getAdapterManager(),
transactionStateProvider
), processMethodContext);
@@ -235,7 +233,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
if (action != null) {
actionInvocationFacet = new ActionInvocationFacetForDomainEventFromActionAnnotation(
actionDomainEventType, actionMethod, typeSpec, returnSpec, holder,
- getDeploymentCategory(), configuration, servicesInjector,
+ getDeploymentCategory(), getConfiguration(), servicesInjector,
getAuthenticationSessionProvider(),
getAdapterManager(), transactionStateProvider
);
@@ -244,7 +242,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
{
actionInvocationFacet = new ActionInvocationFacetForDomainEventFromDefault(
actionDomainEventType, actionMethod, typeSpec, returnSpec, holder,
- getDeploymentCategory(), configuration, servicesInjector, getAuthenticationSessionProvider(),
+ getDeploymentCategory(), getConfiguration(), servicesInjector, getAuthenticationSessionProvider(),
getAdapterManager(), transactionStateProvider
);
}
@@ -390,7 +388,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
// else check for @Action(command=...)
if(commandFacet == null) {
- commandFacet = CommandFacetForActionAnnotation.create(action, configuration, holder);
+ commandFacet = CommandFacetForActionAnnotation.create(action, getConfiguration(), holder);
}
FacetUtil.addFacet(commandFacet);
@@ -421,7 +419,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
// else check for @Action(publishing=...)
if(facet == null) {
- facet = PublishedActionFacetForActionAnnotation.create(action, configuration, holder);
+ facet = PublishedActionFacetForActionAnnotation.create(action, getConfiguration(), holder);
}
FacetUtil.addFacet(facet);
@@ -547,10 +545,8 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
@Override
public void setServicesInjector(final ServicesInjector servicesInjector) {
super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
+ final IsisConfiguration configuration = getConfiguration();
- this.configuration = configuration;
actionSemanticsValidator.setConfiguration(configuration);
actionInteractionValidator.setConfiguration(configuration);
postsActionInvokedEventValidator.setConfiguration(configuration);
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
index 4967c7d..96a3d7d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
@@ -30,7 +30,6 @@ import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
@@ -46,7 +45,6 @@ public class PagedFacetOnActionFactory extends FacetFactoryAbstract
private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Paged.class);
- private IsisConfiguration configuration;
public PagedFacetOnActionFactory() {
super(FeatureType.ACTIONS_ONLY);
@@ -89,16 +87,10 @@ public class PagedFacetOnActionFactory extends FacetFactoryAbstract
// //////////////////////////////////////
- public IsisConfiguration getConfiguration() {
- return configuration;
- }
-
@Override
public void setServicesInjector(final ServicesInjector servicesInjector) {
super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
+ final IsisConfiguration configuration = getConfiguration();
validator.setConfiguration(configuration);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
index da5f805..ab31a47 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
@@ -72,7 +72,6 @@ import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemove
import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
@@ -91,7 +90,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
private final CollectionTypeRegistry collectionTypeRegistry = new CollectionTypeRegistry();
- private IsisConfiguration configuration;
public CollectionAnnotationFacetFactory() {
super(FeatureType.COLLECTIONS_AND_ACTIONS);
@@ -174,7 +172,7 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
collectionDomainEventFacet.getEventType(),
CollectionDomainEvent.Noop.class,
CollectionDomainEvent.Default.class,
- "isis.reflector.facet.collectionAnnotation.domainEvent.postForDefault", this.configuration)) {
+ "isis.reflector.facet.collectionAnnotation.domainEvent.postForDefault", getConfiguration())) {
FacetUtil.addFacet(collectionDomainEventFacet);
}
@@ -386,7 +384,8 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
@Override
public void setServicesInjector(final ServicesInjector servicesInjector) {
super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector.lookupService(ConfigurationServiceInternal.class);
+ final IsisConfiguration configuration = getConfiguration();
+
postsCollectionAddedToEventValidator.setConfiguration(configuration);
postsCollectionRemovedFromEventValidator.setConfiguration(configuration);
collectionInteractionValidator.setConfiguration(configuration);
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
index d3e220f..56d9467 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
@@ -30,7 +30,6 @@ import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
@@ -44,7 +43,6 @@ public class PagedFacetOnCollectionFactory extends FacetFactoryAbstract
private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Paged.class);
- private IsisConfiguration configuration;
public PagedFacetOnCollectionFactory() {
super(FeatureType.COLLECTIONS_ONLY);
@@ -86,17 +84,13 @@ public class PagedFacetOnCollectionFactory extends FacetFactoryAbstract
// //////////////////////////////////////
- public IsisConfiguration getConfiguration() {
- return configuration;
- }
@Override
public void setServicesInjector(final ServicesInjector servicesInjector) {
super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
+ final IsisConfiguration configuration = getConfiguration();
+
validator.setConfiguration(configuration);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
index 4b967b9..dde4d3c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
@@ -26,7 +26,6 @@ import java.util.Map;
import com.google.common.collect.Lists;
import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.lang.StringExtensions;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -35,8 +34,6 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.facets.TypedHolder;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
/**
* Central point for providing some kind of default for any {@link Facet}s
@@ -48,7 +45,6 @@ public class FallbackFacetFactory extends FacetFactoryAbstract {
public final static int PAGE_SIZE_STANDALONE_DEFAULT = 25;
public final static int PAGE_SIZE_PARENTED_DEFAULT = 12;
- private IsisConfiguration configuration;
@SuppressWarnings("unused")
private final static Map<Class<?>, Integer> TYPICAL_LENGTHS_BY_CLASS = new HashMap<Class<?>, Integer>() {
@@ -175,17 +171,5 @@ public class FallbackFacetFactory extends FacetFactoryAbstract {
}
- public IsisConfiguration getConfiguration() {
- return configuration;
- }
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
index 2738067..95baea3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
@@ -29,7 +29,6 @@ import com.google.common.base.Strings;
import com.google.common.collect.Maps;
import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -37,8 +36,6 @@ import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
@@ -123,7 +120,7 @@ public class CssClassFacetOnActionFromConfiguredRegexFactory extends FacetFactor
private Map<Pattern, String> getCssClassByPattern() {
if (cssClassByPattern == null) {
// build lazily
- final String cssClassPatterns = configuration.getString("isis.reflector.facet.cssClass.patterns");
+ final String cssClassPatterns = getConfiguration().getString("isis.reflector.facet.cssClass.patterns");
this.cssClassByPattern = buildCssClassByPattern(cssClassPatterns);
}
return cssClassByPattern;
@@ -155,19 +152,6 @@ public class CssClassFacetOnActionFromConfiguredRegexFactory extends FacetFactor
//endregion
- //region > injected
- private IsisConfiguration configuration;
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
-
-
- //endregion
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
index 300c7d7..9cbc9f6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
@@ -31,7 +31,6 @@ import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
@@ -92,15 +91,11 @@ public class CssClassFacetOnMemberFactory extends FacetFactoryAbstract implement
//region > injected
- private IsisConfiguration configuration;
-
@Override
public void setServicesInjector(final ServicesInjector servicesInjector) {
super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
+ final IsisConfiguration configuration = getConfiguration();
validator.setConfiguration(configuration);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
index 50c1ddd..049987f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
@@ -40,7 +40,6 @@ import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
@@ -133,7 +132,7 @@ public class CssClassFaFacetOnMemberFactory extends FacetFactoryAbstract impleme
private Map<Pattern, String> getFaIconByPattern() {
if (faIconByPattern == null) {
// build lazily
- final String cssClassFaPatterns = configuration.getString("isis.reflector.facet.cssClassFa.patterns");
+ final String cssClassFaPatterns = getConfiguration().getString("isis.reflector.facet.cssClassFa.patterns");
this.faIconByPattern = buildFaIconByPattern(cssClassFaPatterns);
}
return faIconByPattern;
@@ -172,14 +171,11 @@ public class CssClassFaFacetOnMemberFactory extends FacetFactoryAbstract impleme
metaModelValidator.add(validator);
}
- private IsisConfiguration configuration;
@Override
public void setServicesInjector(final ServicesInjector servicesInjector) {
super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
+ final IsisConfiguration configuration = getConfiguration();
validator.setConfiguration(configuration);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
index 49d86cc..93add31 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
@@ -30,15 +30,12 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForValidationFailures;
public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner {
- private IsisConfiguration configuration;
public ViewModelSemanticCheckingFacetFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -50,7 +47,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
public void process(final ProcessClassContext processClassContext) {
// disable by default
- final boolean enable = configuration.getBoolean(
+ final boolean enable = getConfiguration().getBoolean(
"isis.reflector.facets.ViewModelSemanticCheckingFacetFactory.enable", false);
if(!enable) {
return;
@@ -179,13 +176,4 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
}
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
index 778388c..ac79324 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.facets.object.defaults.annotcfg;
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.Defaulted;
-import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -30,12 +29,9 @@ import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetAbstract;
import org.apache.isis.core.metamodel.facets.object.defaults.DefaultsProviderUtil;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract {
- private IsisConfiguration configuration;
public DefaultedFacetAnnotationElseConfigurationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -51,14 +47,14 @@ public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFacto
// create from annotation, if present
if (annotation != null) {
- final DefaultedFacetAbstract facet = new DefaultedFacetAnnotation(cls, getIsisConfiguration(), holder, servicesInjector);
+ final DefaultedFacetAbstract facet = new DefaultedFacetAnnotation(cls, getConfiguration(), holder, servicesInjector);
if (facet.isValid()) {
return facet;
}
}
// otherwise, try to create from configuration, if present
- final String providerName = DefaultsProviderUtil.defaultsProviderNameFromConfiguration(cls, getIsisConfiguration());
+ final String providerName = DefaultsProviderUtil.defaultsProviderNameFromConfiguration(cls, getConfiguration());
if (!Strings.isNullOrEmpty(providerName)) {
final DefaultedFacetFromConfiguration facet = new DefaultedFacetFromConfiguration(providerName, holder, servicesInjector);
if (facet.isValid()) {
@@ -69,23 +65,5 @@ public class DefaultedFacetAnnotationElseConfigurationFactory extends FacetFacto
return null;
}
- // ////////////////////////////////////////////////////////////////////
- // Injected
- // ////////////////////////////////////////////////////////////////////
-
- public IsisConfiguration getIsisConfiguration() {
- return configuration;
- }
-
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index ec01a19..3295986 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -81,7 +81,6 @@ import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacet;
import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.publishedobject.PublishedObjectFacet;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAware;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
@@ -109,7 +108,6 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
private final MetaModelValidatorForDeprecatedAnnotation objectTypeValidator = new MetaModelValidatorForDeprecatedAnnotation(ObjectType.class);
- private IsisConfiguration configuration;
private AdapterManager adapterManager;
private PersistenceSessionService persistenceSessionService;
@@ -157,7 +155,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
// else check for @DomainObject(auditing=....)
if(auditableFacet == null) {
- auditableFacet = AuditableFacetForDomainObjectAnnotation.create(domainObject, configuration, holder);
+ auditableFacet = AuditableFacetForDomainObjectAnnotation.create(domainObject, getConfiguration(), holder);
}
// then add
@@ -190,7 +188,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
// else check from @DomainObject(publishing=...)
if(publishedObjectFacet == null) {
publishedObjectFacet=
- PublishedObjectFacetForDomainObjectAnnotation.create(domainObject, configuration, facetHolder);
+ PublishedObjectFacetForDomainObjectAnnotation.create(domainObject, getConfiguration(), facetHolder);
}
// then add
@@ -258,7 +256,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
// else check from @DomainObject(editing=...)
if(facet == null) {
- facet = ImmutableFacetForDomainObjectAnnotation.create(domainObject, configuration, facetHolder);
+ facet = ImmutableFacetForDomainObjectAnnotation.create(domainObject, getConfiguration(), facetHolder);
}
// then add
@@ -339,7 +337,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
ObjectCreatedEvent.Noop.class,
ObjectCreatedEvent.Default.class,
"isis.reflector.facet.domainObjectAnnotation.createdLifecycleEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(facet);
}
}
@@ -356,7 +354,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
ObjectLoadedEvent.Noop.class,
ObjectLoadedEvent.Default.class,
"isis.reflector.facet.domainObjectAnnotation.loadedLifecycleEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(facet);
}
}
@@ -373,7 +371,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
ObjectPersistingEvent.Noop.class,
ObjectPersistingEvent.Default.class,
"isis.reflector.facet.domainObjectAnnotation.persistingLifecycleEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(facet);
}
}
@@ -390,7 +388,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
ObjectPersistedEvent.Noop.class,
ObjectPersistedEvent.Default.class,
"isis.reflector.facet.domainObjectAnnotation.persistedLifecycleEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(facet);
}
}
@@ -407,7 +405,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
ObjectRemovingEvent.Noop.class,
ObjectRemovingEvent.Default.class,
"isis.reflector.facet.domainObjectAnnotation.removingLifecycleEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(facet);
}
}
@@ -424,7 +422,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
ObjectUpdatedEvent.Noop.class,
ObjectUpdatedEvent.Default.class,
"isis.reflector.facet.domainObjectAnnotation.updatedLifecycleEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(facet);
}
}
@@ -441,7 +439,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
ObjectUpdatingEvent.Noop.class,
ObjectUpdatingEvent.Default.class,
"isis.reflector.facet.domainObjectAnnotation.updatingLifecycleEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(facet);
}
}
@@ -496,9 +494,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
@Override
public void setServicesInjector(final ServicesInjector servicesInjector) {
super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
+ IsisConfiguration configuration = getConfiguration();
publishedObjectValidator.setConfiguration(configuration);
auditedValidator.setConfiguration(configuration);
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
index 308a3d7..bbeac06 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
@@ -18,14 +18,11 @@ package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.ViewModelLayout;
-import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
public class DomainObjectLayoutFacetFactory extends FacetFactoryAbstract {
@@ -45,13 +42,13 @@ public class DomainObjectLayoutFacetFactory extends FacetFactoryAbstract {
FacetUtil.addFacet(
TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.create(
- domainObjectLayout, servicesInjector, configuration, facetHolder));
+ domainObjectLayout, servicesInjector, getConfiguration(), facetHolder));
FacetUtil.addFacet(
IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.create(
- domainObjectLayout, servicesInjector, configuration, facetHolder));
+ domainObjectLayout, servicesInjector, getConfiguration(), facetHolder));
FacetUtil.addFacet(
CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.create(
- domainObjectLayout, servicesInjector, configuration, facetHolder));
+ domainObjectLayout, servicesInjector, getConfiguration(), facetHolder));
FacetUtil.addFacet(
CssClassFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
@@ -92,16 +89,6 @@ public class DomainObjectLayoutFacetFactory extends FacetFactoryAbstract {
}
- private IsisConfiguration configuration;
-
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
index a05a4ef..3bed123 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.facets.object.encodeable.annotcfg;
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.Encodable;
-import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -32,13 +31,9 @@ import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncoderDecoderUtil;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
public class EncodableFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements AdapterManagerAware {
- private IsisConfiguration configuration;
-
private AdapterManager adapterManager;
public EncodableFacetAnnotationElseConfigurationFactory() {
@@ -58,14 +53,14 @@ public class EncodableFacetAnnotationElseConfigurationFactory extends FacetFacto
// create from annotation, if present
final Encodable annotation = Annotations.getAnnotation(cls, Encodable.class);
if (annotation != null) {
- final EncodableFacetAnnotation facet = new EncodableFacetAnnotation(cls, getIsisConfiguration(), holder, adapterManager, servicesInjector);
+ final EncodableFacetAnnotation facet = new EncodableFacetAnnotation(cls, getConfiguration(), holder, adapterManager, servicesInjector);
if (facet.isValid()) {
return facet;
}
}
// otherwise, try to create from configuration, if present
- final String encoderDecoderName = EncoderDecoderUtil.encoderDecoderNameFromConfiguration(cls, getIsisConfiguration());
+ final String encoderDecoderName = EncoderDecoderUtil.encoderDecoderNameFromConfiguration(cls, getConfiguration());
if (!Strings.isNullOrEmpty(encoderDecoderName)) {
final EncodableFacetFromConfiguration facet = new EncodableFacetFromConfiguration(encoderDecoderName, holder, adapterManager, servicesInjector);
if (facet.isValid()) {
@@ -81,17 +76,6 @@ public class EncodableFacetAnnotationElseConfigurationFactory extends FacetFacto
// Injected
// ////////////////////////////////////////////////////////////////////
- public IsisConfiguration getIsisConfiguration() {
- return configuration;
- }
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
index 4e7b96e..697a1e1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.facets.object.parseable.annotcfg;
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.Parseable;
-import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -32,12 +31,9 @@ import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacetAbstract;
import org.apache.isis.core.metamodel.facets.object.parseable.ParserUtil;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFactoryAbstract implements AdapterManagerAware {
- private IsisConfiguration configuration;
private AdapterManager adapterManager;
@@ -55,7 +51,7 @@ public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFacto
// create from annotation, if present
if (annotation != null) {
- final ParseableFacetAnnotation facet = new ParseableFacetAnnotation(cls, getIsisConfiguration(), holder,
+ final ParseableFacetAnnotation facet = new ParseableFacetAnnotation(cls, getConfiguration(), holder,
adapterManager, servicesInjector);
if (facet.isValid()) {
return facet;
@@ -63,7 +59,7 @@ public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFacto
}
// otherwise, try to create from configuration, if present
- final String parserName = ParserUtil.parserNameFromConfiguration(cls, getIsisConfiguration());
+ final String parserName = ParserUtil.parserNameFromConfiguration(cls, getConfiguration());
if (!Strings.isNullOrEmpty(parserName)) {
final ParseableFacetFromConfiguration facet = new ParseableFacetFromConfiguration(parserName, holder,
servicesInjector, adapterManager);
@@ -75,23 +71,6 @@ public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFacto
return null;
}
- // ////////////////////////////////////////////////////////////////////
- // Dependencies (injected via setters since *Aware)
- // ////////////////////////////////////////////////////////////////////
-
-
- public IsisConfiguration getIsisConfiguration() {
- return configuration;
- }
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
-
@Override
public void setAdapterManager(final AdapterManager adapterManager) {
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
index 9a549c0..d6c5646 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
@@ -24,7 +24,6 @@ import com.google.common.base.Strings;
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.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -42,8 +41,6 @@ import org.apache.isis.core.metamodel.facets.object.value.EqualByContentFacet;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderContext;
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderUtil;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
/**
* Processes the {@link Value} annotation.
@@ -73,7 +70,6 @@ import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
*/
public class ValueFacetAnnotationOrConfigurationFactory extends FacetFactoryAbstract implements AdapterManagerAware {
- private IsisConfiguration configuration;
private AdapterManager adapterManager;
public ValueFacetAnnotationOrConfigurationFactory() {
@@ -93,16 +89,16 @@ public class ValueFacetAnnotationOrConfigurationFactory extends FacetFactoryAbst
// create from annotation, if present
final Value annotation = Annotations.getAnnotation(cls, Value.class);
if (annotation != null) {
- final ValueFacetAnnotation facet = new ValueFacetAnnotation(cls, holder, getIsisConfiguration(), createValueSemanticsProviderContext());
+ final ValueFacetAnnotation facet = new ValueFacetAnnotation(cls, holder, getConfiguration(), createValueSemanticsProviderContext());
if (facet.isValid()) {
return facet;
}
}
// otherwise, try to create from configuration, if present
- final String semanticsProviderName = ValueSemanticsProviderUtil.semanticsProviderNameFromConfiguration(cls, configuration);
+ final String semanticsProviderName = ValueSemanticsProviderUtil.semanticsProviderNameFromConfiguration(cls, getConfiguration());
if (!Strings.isNullOrEmpty(semanticsProviderName)) {
- final ValueFacetFromConfiguration facet = new ValueFacetFromConfiguration(semanticsProviderName, holder, getIsisConfiguration(), createValueSemanticsProviderContext());
+ final ValueFacetFromConfiguration facet = new ValueFacetFromConfiguration(semanticsProviderName, holder, getConfiguration(), createValueSemanticsProviderContext());
if (facet.isValid()) {
return facet;
}
@@ -120,20 +116,6 @@ public class ValueFacetAnnotationOrConfigurationFactory extends FacetFactoryAbst
// Injected
// ////////////////////////////////////////////////////////////////////
- public IsisConfiguration getIsisConfiguration() {
- return configuration;
- }
-
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
-
-
public AdapterManager getAdapterManager() {
return adapterManager;
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
index fe130f3..f4ed69a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
@@ -31,7 +31,6 @@ import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
public abstract class ValueFacetUsingSemanticsProviderFactory<T> extends FacetFactoryAbstract implements AdapterManagerAware, ServicesInjectorAware {
- private IsisConfiguration configuration;
private AdapterManager adapterManager;
/**
@@ -53,9 +52,6 @@ public abstract class ValueFacetUsingSemanticsProviderFactory<T> extends FacetFa
// ////////////////////////////////////////////////////
- public IsisConfiguration getConfiguration() {
- return configuration;
- }
public ValueSemanticsProviderContext getContext() {
if (context == null) {
@@ -64,16 +60,6 @@ public abstract class ValueFacetUsingSemanticsProviderFactory<T> extends FacetFa
return context;
}
-
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = (IsisConfiguration) servicesInjector
- .lookupService(ConfigurationServiceInternal.class);
- this.configuration = configuration;
- }
-
-
@Override
public void setAdapterManager(final AdapterManager adapterManager) {
this.adapterManager = adapterManager;
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
index 531f1ae..6f0282a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
@@ -104,8 +104,6 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
private final MetaModelValidatorForDeprecatedAnnotation mustSatisfyValidator = new MetaModelValidatorForDeprecatedAnnotation(MustSatisfy.class);
private final MetaModelValidatorForDeprecatedAnnotation notPersistedValidator = new MetaModelValidatorForDeprecatedAnnotation(NotPersisted.class);
- private IsisConfiguration configuration;
-
public PropertyAnnotationFacetFactory() {
super(FeatureType.PROPERTIES_AND_ACTIONS);
}
@@ -179,7 +177,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
PropertyDomainEvent.Noop.class,
PropertyDomainEvent.Default.class,
"isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault",
- this.configuration)) {
+ getConfiguration())) {
FacetUtil.addFacet(propertyDomainEventFacet);
}
@@ -302,7 +300,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
}
// check for @Property(command=...)
- final CommandFacet commandFacet = CommandFacetForPropertyAnnotation.create(property, configuration, holder);
+ final CommandFacet commandFacet = CommandFacetForPropertyAnnotation.create(property, getConfiguration(), holder);
FacetUtil.addFacet(commandFacet);
}
@@ -325,7 +323,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
// check for @Property(publishing=...)
final PublishedPropertyFacet facet = PublishedPropertyFacetForPropertyAnnotation
- .create(property, configuration, holder);
+ .create(property, getConfiguration(), holder);
FacetUtil.addFacet(facet);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/ConfigurationServiceInternal.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/ConfigurationServiceInternal.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/ConfigurationServiceInternal.java
index b5a3dc2..206b7f3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/ConfigurationServiceInternal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/ConfigurationServiceInternal.java
@@ -22,8 +22,6 @@ import org.apache.isis.core.commons.config.IsisConfiguration;
public interface ConfigurationServiceInternal {
- void injectInto(final Object candidate);
-
/**
* Provided by {@link RuntimeContextAbstract} itself, cloned properties from
* {@link IsisConfiguration}.
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
index c70a066..2dbd2f0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
@@ -151,7 +151,6 @@ public class FacetProcessor implements RuntimeContextAware {
* processing.
*/
public void injectDependenciesInto(final FacetFactory factory) {
- getIsisConfiguration().injectInto(factory);
// cascades all the subcomponents also
getRuntimeContext().injectInto(factory);
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
index b62e6f9..6dc4281 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandardInstallerAbstract.java
@@ -21,21 +21,23 @@ package org.apache.isis.core.runtime.authentication.standard;
import java.util.List;
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.components.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.runtime.authentication.AuthenticationManager;
import org.apache.isis.core.runtime.authentication.AuthenticationManagerInstaller;
public abstract class AuthenticationManagerStandardInstallerAbstract extends InstallerAbstract implements AuthenticationManagerInstaller {
- public AuthenticationManagerStandardInstallerAbstract(final String name) {
- super(AuthenticationManagerInstaller.TYPE, name);
+ public AuthenticationManagerStandardInstallerAbstract(
+ final String name,
+ final IsisConfigurationDefault isisConfiguration) {
+ super(AuthenticationManagerInstaller.TYPE, name, isisConfiguration);
}
@Override
public final AuthenticationManager createAuthenticationManager() {
final AuthenticationManagerStandard authenticationManager = createAuthenticationManagerStandard();
- for (final Authenticator authenticator : createAuthenticators(getConfiguration())) {
+ for (final Authenticator authenticator : createAuthenticators()) {
authenticationManager.addAuthenticator(authenticator);
}
return authenticationManager;
@@ -50,7 +52,7 @@ public abstract class AuthenticationManagerStandardInstallerAbstract extends Ins
*
* @return
*/
- protected abstract List<Authenticator> createAuthenticators(final IsisConfiguration configuration);
+ protected abstract List<Authenticator> createAuthenticators();
@Override
public List<Class<?>> getTypes() {
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java
index 47e90f9..020a588 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authorization/standard/AuthorizationManagerStandardInstallerAbstract.java
@@ -21,31 +21,33 @@ package org.apache.isis.core.runtime.authorization.standard;
import java.util.List;
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.components.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.runtime.authorization.AuthorizationManager;
import org.apache.isis.core.runtime.authorization.AuthorizationManagerInstaller;
-public abstract class AuthorizationManagerStandardInstallerAbstract extends InstallerAbstract implements AuthorizationManagerInstaller {
+public abstract class AuthorizationManagerStandardInstallerAbstract
+ extends InstallerAbstract
+ implements AuthorizationManagerInstaller {
- public AuthorizationManagerStandardInstallerAbstract(final String name) {
- super(AuthorizationManagerInstaller.TYPE, name);
+ public AuthorizationManagerStandardInstallerAbstract(
+ final String name,
+ final IsisConfigurationDefault isisConfiguration) {
+ super(AuthorizationManagerInstaller.TYPE, name, isisConfiguration);
}
@Override
public AuthorizationManager createAuthorizationManager() {
final AuthorizationManagerStandard authorizationManager = new AuthorizationManagerStandard(getConfiguration());
- final Authorizor authorizor = createAuthorizor(getConfiguration());
+ final Authorizor authorizor = createAuthorizor();
authorizationManager.setAuthorizor(authorizor);
return authorizationManager;
}
/**
* Hook method
- *
- * @return
*/
- protected abstract Authorizor createAuthorizor(final IsisConfiguration configuration);
+ protected abstract Authorizor createAuthorizor();
@Override
public List<Class<?>> getTypes() {
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/runtime/optionhandler/OptionHandler.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/optionhandler/OptionHandler.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/optionhandler/OptionHandler.java
index f39cae5..1419063 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/optionhandler/OptionHandler.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/optionhandler/OptionHandler.java
@@ -22,11 +22,14 @@ package org.apache.isis.core.runtime.optionhandler;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
-public interface OptionHandler extends IsisConfigurationBuilderPrimer {
+public interface OptionHandler {
- public void addOption(Options options);
+ void addOption(Options options);
+
+ boolean handle(CommandLine commandLine, BootPrinter bootPrinter, Options options);
+
+ void prime(IsisConfigurationBuilder isisConfigurationBuilder);
- public boolean handle(CommandLine commandLine, BootPrinter bootPrinter, Options options);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
new file mode 100644
index 0000000..4a8c9e4
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.runtime.runner.opts;
+
+import com.google.common.base.Optional;
+
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+
+public interface OptionValidator {
+ Optional<String> validate(final DeploymentCategory deploymentCategory);
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java b/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java
deleted file mode 100644
index 772e5b8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/webapp/config/IsisConfigurationBuilderForWebapp.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.webapp.config;
-
-import javax.servlet.ServletContext;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderFileSystem;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStreams;
-
-/**
- * Convenience implementation of {@link IsisConfigurationBuilder} that loads
- * configuration resource using the {@link ResourceStreamSourceForWebInf}.
- */
-public class IsisConfigurationBuilderForWebapp extends IsisConfigurationBuilderResourceStreams {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(IsisConfigurationBuilderFileSystem.class);
-
- public IsisConfigurationBuilderForWebapp(final ServletContext servletContext) {
- super(new ResourceStreamSourceForWebInf(servletContext));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
index dfa0598..a6018de 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
@@ -19,5 +19,10 @@
package org.apache.isis.progmodels.dflt;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+
public class JavaReflectorInstaller extends JavaReflectorInstallerNoDecorators {
+ public JavaReflectorInstaller(final IsisConfigurationDefault isisConfiguration) {
+ super(isisConfiguration);
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
index 3380e2c..b50ba23 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
@@ -28,8 +28,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.components.InstallerAbstract;
import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
@@ -44,26 +45,27 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implements ObjectReflectorInstaller {
+ //region > constants
+
private static final Logger LOG = LoggerFactory.getLogger(JavaReflectorInstallerNoDecorators.class);
public static final String PROPERTY_BASE = ConfigurationConstants.ROOT;
- // /////////////////////////////////////////////////////
- // Constructor
- // /////////////////////////////////////////////////////
+ //endregion
+
+ //region > constructor
- public JavaReflectorInstallerNoDecorators() {
- this("java");
+ public JavaReflectorInstallerNoDecorators(final IsisConfigurationDefault isisConfiguration) {
+ this("java", isisConfiguration);
}
- public JavaReflectorInstallerNoDecorators(final String name) {
- super(ObjectReflectorInstaller.TYPE, name);
+ public JavaReflectorInstallerNoDecorators(final String name, final IsisConfigurationDefault isisConfiguration) {
+ super(ObjectReflectorInstaller.TYPE, name, isisConfiguration);
}
+ //endregion
- // /////////////////////////////////////////////////////
- // createReflector, doCreateReflector
- // /////////////////////////////////////////////////////
+ //region > createReflector, doCreateReflector
@Override
public SpecificationLoaderSpi createReflector(
@@ -80,6 +82,9 @@ public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implem
servicesInjector);
}
+ //endregion
+
+ //region > createProgrammingModel
/**
* Hook method to allow subclasses to specify a different implementations
@@ -116,6 +121,10 @@ public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implem
excludeFacetFactories(configuration, programmingModel);
}
+ //endregion
+
+ //region > includeFacetFactories, excludeFacetFactories
+
/**
* Factored out of {@link #createProgrammingModel(IsisConfiguration)}
* so that subclasses that choose to override can still support
@@ -134,7 +143,9 @@ public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implem
ProgrammingModel.Util.excludeFacetFactories(configuration, programmingModel);
}
+ //endregion
+ //region > createMetaModelValidator
/**
* Hook method to allow subclasses to specify a different implementation of
@@ -150,6 +161,10 @@ public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implem
return InstanceUtil.createInstance(metaModelValidatorClassName, MetaModelValidator.class);
}
+ //endregion
+
+ //region > createLayoutMetadataReaders
+
protected List<LayoutMetadataReader> createLayoutMetadataReaders(final IsisConfiguration configuration) {
final List<LayoutMetadataReader> layoutMetadataReaders = Lists.newArrayList();
final String[] layoutMetadataReaderClassNames = configuration.getList(ReflectorConstants.LAYOUT_METADATA_READER_LIST, ReflectorConstants.LAYOUT_METADATA_READER_LIST_DEFAULT);
@@ -162,15 +177,15 @@ public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implem
return layoutMetadataReaders;
}
+ //endregion
-
-
- // /////////////////////////////////////////////////////
- // Guice
- // /////////////////////////////////////////////////////
+ //region > getTypes
@Override
public List<Class<?>> getTypes() {
return listOf(SpecificationLoaderSpi.class);
}
+
+ //endregion
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java
deleted file mode 100644
index 009b1a5..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderFileSystemTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import junit.framework.TestCase;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class ConfigurationBuilderFileSystemTest extends TestCase {
- IsisConfigurationBuilderFileSystem loader;
-
- @Override
- protected void setUp() throws Exception {
- loader = new IsisConfigurationBuilderFileSystem("src/test/config");
- loader.addDefaultConfigurationResources();
- }
-
- public void testDefaultConfiguration() {
- final IsisConfiguration configuration = loader.getConfiguration();
- assertEquals("one", configuration.getString("properties.example"));
- }
-
- public void testDefaultConfigurationTrailingWhitespace() {
- final IsisConfiguration configuration = loader.getConfiguration();
- assertEquals("in-memory", configuration.getString("properties.trailingWhitespace"));
- }
-
- public void testAddConfiguration() {
- loader.addConfigurationResource("another.properties", NotFoundPolicy.FAIL_FAST);
- final IsisConfiguration configuration = loader.getConfiguration();
- assertEquals("added", configuration.getString("additional.example"));
- }
-
- public void testAddedConfigurationIsIgnoredWhenEarlierPropertyExists() {
- loader.addConfigurationResource("another.properties", NotFoundPolicy.FAIL_FAST);
- final IsisConfiguration configuration = loader.getConfiguration();
- assertEquals("one", configuration.getString("properties.example"));
- }
-
- public void testAddedConfigurationFailsWhenFileNotFound() {
- try {
- loader.addConfigurationResource("unfound.properties", NotFoundPolicy.FAIL_FAST);
- loader.getConfiguration();
- fail();
- } catch (final IsisException expected) {
- }
- }
-
- public void testAddedConfigurationIgnoreUnfoundFile() {
- loader.addConfigurationResource("unfound.properties", NotFoundPolicy.CONTINUE);
- loader.getConfiguration();
- }
-
- public void testAddProperty() throws Exception {
- loader.add("added.property", "added by code");
- final IsisConfiguration configuration = loader.getConfiguration();
- assertEquals("added by code", configuration.getString("added.property"));
- }
-}
[2/4] isis git commit: ISIS-1406: lots more refactoring around
IsisConfiguration and IsisConfigurationBuilder.
Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
deleted file mode 100644
index cadaaed..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-
-import org.junit.Test;
-
-public class ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest {
-
- @Test
- public void toStringWhenNull() throws Exception {
- final IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy configurationResourceAndPolicy = new IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy(null, null);
- assertThat(configurationResourceAndPolicy.toString(), is("null{null}"));
- }
-
- @Test
- public void toStringWhenConfigResourceNotNull() throws Exception {
- final IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy configurationResourceAndPolicy = new IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy("foo.properties", null);
- assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{null}"));
- }
-
- @Test
- public void toStringWhenAllSpecified() throws Exception {
- final IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy configurationResourceAndPolicy = new IsisConfigurationBuilderResourceStreams.ConfigurationResourceAndPolicy("foo.properties", NotFoundPolicy.CONTINUE);
- assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{CONTINUE}"));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
deleted file mode 100644
index fe76e66..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/config/ConfigurationBuilderTwoDirectoriesTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.commons.config;
-
-import junit.framework.TestCase;
-
-public class ConfigurationBuilderTwoDirectoriesTest extends TestCase {
- IsisConfigurationBuilderFileSystem builder;
-
- @Override
- protected void setUp() throws Exception {
- builder = new IsisConfigurationBuilderFileSystem("src/test/config", "src/test");
- }
-
- public void testAddConfigurationInDifferentDirectory() throws Exception {
- builder.addConfigurationResource("three.properties", NotFoundPolicy.FAIL_FAST);
- final IsisConfiguration configuration = builder.getConfiguration();
- assertEquals("version 3", configuration.getString("different.property"));
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
new file mode 100644
index 0000000..f0b7ee9
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.commons.configbuilder;
+
+import org.junit.Test;
+
+import org.apache.isis.core.commons.config.NotFoundPolicy;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+public class ConfigurationBuilderResourceStreamsConfigResourceAndPolicyTest {
+
+ @Test
+ public void toStringWhenNull() throws Exception {
+ final ConfigurationResourceAndPolicy configurationResourceAndPolicy = new ConfigurationResourceAndPolicy(null, null);
+ assertThat(configurationResourceAndPolicy.toString(), is("null{null}"));
+ }
+
+ @Test
+ public void toStringWhenConfigResourceNotNull() throws Exception {
+ final ConfigurationResourceAndPolicy configurationResourceAndPolicy = new ConfigurationResourceAndPolicy("foo.properties", null);
+ assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{null}"));
+ }
+
+ @Test
+ public void toStringWhenAllSpecified() throws Exception {
+ final ConfigurationResourceAndPolicy configurationResourceAndPolicy = new ConfigurationResourceAndPolicy("foo.properties", NotFoundPolicy.CONTINUE);
+ assertThat(configurationResourceAndPolicy.toString(), is("foo.properties{CONTINUE}"));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
index 429941a..ccc1d7c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
@@ -78,9 +78,6 @@ public abstract class ObjectReflectorDefaultTestAbstract {
context.checking(new Expectations() {
{
- allowing(mockConfiguration).injectInto(with(anything()));
- will(InjectIntoJMockAction.injectInto());
-
ignoring(mockConfiguration);
}
});
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
index 6948431..7c899c6 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationManagerStandardInstallerAbstractForDfltRuntime.java
@@ -19,13 +19,16 @@
package org.apache.isis.core.runtime.authentication;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.runtime.authentication.standard.AuthenticationManagerStandard;
import org.apache.isis.core.runtime.authentication.standard.AuthenticationManagerStandardInstallerAbstract;
public abstract class AuthenticationManagerStandardInstallerAbstractForDfltRuntime extends AuthenticationManagerStandardInstallerAbstract {
- public AuthenticationManagerStandardInstallerAbstractForDfltRuntime(final String name) {
- super(name);
+ public AuthenticationManagerStandardInstallerAbstractForDfltRuntime(
+ final String name,
+ final IsisConfigurationDefault isisConfiguration) {
+ super(name, isisConfiguration);
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
index d8729bb..455171c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerAbstract.java
@@ -23,7 +23,8 @@ import java.util.Collections;
import java.util.List;
import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.components.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
public abstract class FixturesInstallerAbstract extends InstallerAbstract implements FixturesInstaller {
@@ -31,8 +32,8 @@ public abstract class FixturesInstallerAbstract extends InstallerAbstract implem
private LogonFixture logonFixture;
- public FixturesInstallerAbstract(final String name) {
- super(FixturesInstaller.TYPE, name);
+ public FixturesInstallerAbstract(final String name, final IsisConfigurationDefault isisConfiguration) {
+ super(FixturesInstaller.TYPE, name, isisConfiguration);
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
index 6fbca9f..1e3cbde 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerFromConfiguration.java
@@ -23,6 +23,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.isis.core.commons.config.ConfigurationConstants;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.runtime.fixtures.domainservice.ObjectLoaderFixture;
@@ -41,8 +42,8 @@ public class FixturesInstallerFromConfiguration extends FixturesInstallerAbstrac
private static final String EXPLORATION_OBJECTS = ConfigurationConstants.ROOT + "exploration-objects";
- public FixturesInstallerFromConfiguration() {
- super("configuration");
+ public FixturesInstallerFromConfiguration(final IsisConfigurationDefault isisConfiguration) {
+ super("configuration", isisConfiguration);
}
@Override
@@ -65,9 +66,7 @@ public class FixturesInstallerFromConfiguration extends FixturesInstallerAbstrac
if (!fixtureLoaded) {
LOG.debug("No fixtures loaded from configuration");
}
- } catch (final IllegalArgumentException e) {
- throw new IsisException(e);
- } catch (final SecurityException e) {
+ } catch (final IllegalArgumentException | SecurityException e) {
throw new IsisException(e);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java
deleted file mode 100644
index ec108db..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixtures/FixturesInstallerNoop.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.runtime.fixtures;
-
-import org.apache.isis.applib.fixtures.LogonFixture;
-import org.apache.isis.core.commons.components.Noop;
-
-public class FixturesInstallerNoop extends FixturesInstallerAbstract implements Noop {
-
- public FixturesInstallerNoop() {
- super("noop");
- }
-
- @Override
- public void installFixtures() {
- }
-
- @Override
- public LogonFixture getLogonFixture() {
- return null;
- }
-
- @Override
- protected void addFixturesTo(final FixturesInstallerDelegate delegate) {
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
index 93c01c6..eba4cf5 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
@@ -34,10 +34,8 @@ import org.slf4j.LoggerFactory;
import org.apache.isis.core.commons.components.ApplicationScopedComponent;
import org.apache.isis.core.commons.components.Installer;
import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderAware;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.commons.ensure.Ensure;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.factory.InstanceCreationClassException;
import org.apache.isis.core.commons.factory.InstanceCreationException;
@@ -59,10 +57,6 @@ import org.apache.isis.core.runtime.system.SystemConstants;
import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjector;
import org.apache.isis.core.runtime.systemdependencyinjector.SystemDependencyInjectorAware;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-
/**
* The installers correspond more-or-less to the configurable top-level
* components of {@link IsisSystem}.
@@ -110,7 +104,7 @@ public class InstallerLookup implements InstallerRepository, ApplicationScopedCo
continue;
}
try {
- final Installer object = (Installer) InstanceUtil.createInstance(className);
+ final Installer object = (Installer) InstanceUtil.createInstance(className, isisConfiguration);
LOG.debug("created component installer: " + object.getName() + " - " + className);
installerList.add(object);
} catch (final UnavailableClassException e) {
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
index 0cec1f8..1dc5921 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/installerapi/PersistenceMechanismInstaller.java
@@ -20,8 +20,6 @@
package org.apache.isis.core.runtime.installerregistry.installerapi;
import org.apache.isis.core.commons.components.Installer;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderAware;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
@@ -30,13 +28,12 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory
/**
* Installs a {@link PersistenceSession} during system start up.
*/
-public interface PersistenceMechanismInstaller extends Installer, IsisConfigurationBuilderAware {
+public interface PersistenceMechanismInstaller extends Installer {
static String TYPE = "persistor";
PersistenceSessionFactory createPersistenceSessionFactory(
final DeploymentType deploymentType,
- final IsisConfigurationDefault configuration,
final ServicesInjectorSpi servicesInjector);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.java
deleted file mode 100644
index b7a48b6..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisBootstrapper.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- *
- */
-package org.apache.isis.core.runtime.runner;
-
-import com.google.inject.Injector;
-
-public interface IsisBootstrapper {
- public void bootstrap(Injector injector);
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
deleted file mode 100644
index b9d3364..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.runtime.runner;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.List;
-
-import com.google.common.base.Optional;
-import com.google.common.collect.Lists;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-import org.apache.commons.cli.BasicParser;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderDefault;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.runtime.installerregistry.InstallerLookup;
-import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
-import org.apache.isis.core.runtime.optionhandler.BootPrinter;
-import org.apache.isis.core.runtime.optionhandler.OptionHandler;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerAdditionalProperty;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerAppManifest;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerConfiguration;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerDeploymentType;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerFixture;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerFixtureFromEnvironmentVariable;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerHelp;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerSystemProperties;
-import org.apache.isis.core.runtime.runner.opts.OptionHandlerVersion;
-import org.apache.isis.core.runtime.runner.opts.OptionValidator;
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public class IsisRunner {
-
- private static final Logger LOG = LoggerFactory.getLogger(IsisRunner.class);
-
- private final IsisLoggingConfigurer loggingConfigurer = new IsisLoggingConfigurer();
-
- private final String[] args;
- private final OptionHandlerDeploymentType optionHandlerDeploymentType;
-
- private final List<OptionHandler> optionHandlers = Lists.newArrayList();
- private final List<OptionValidator> validators = Lists.newArrayList();
-
- private IsisConfigurationBuilder isisConfigurationBuilder;
- private InstallerLookup installerLookup;
-
- private Injector globalInjector;
-
- // ///////////////////////////////////////////////////////////////////////////////////////
- // Construction and adjustments
- // ///////////////////////////////////////////////////////////////////////////////////////
-
- public IsisRunner(final String[] args, final OptionHandlerDeploymentType optionHandlerDeploymentType) {
- this.args = args;
- this.optionHandlerDeploymentType = optionHandlerDeploymentType;
-
- // setup logging immediately
- loggingConfigurer.configureLogging(determineConfigDirectory(), args);
-
- addStandardOptionHandlersAndValidators();
- }
-
- // REVIEW is this something that IsisConfigBuilder should know about?
- private String determineConfigDirectory() {
- if (new File(ConfigurationConstants.WEBINF_FULL_DIRECTORY).exists()) {
- return ConfigurationConstants.WEBINF_FULL_DIRECTORY;
- } else {
- return ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY;
- }
- }
-
- /**
- * Adds additional option handlers; may also require additional
- * {@link OptionValidator validator}s to be
- * {@link #addValidator(OptionValidator) add}ed.
- * <p>
- * An adjustment (as per GOOS book).
- */
- public final boolean addOptionHandler(final OptionHandler optionHandler) {
- return optionHandlers.add(optionHandler);
- }
-
- /**
- * Adds additional validators; typically goes hand-in-hand will calls to
- * {@link #addOptionHandler(OptionHandler)}.
- * <p>
- * An adjustment (as per GOOS book).
- */
- public void addValidator(final OptionValidator validator) {
- validators.add(validator);
- }
-
- /**
- * The default implementation is a {@link IsisConfigurationBuilderDefault},
- * which looks to the <tt>config/</tt> directory, the
- * <tt>src/main/webapp/WEB-INF</tt> directory, and then finally to the
- * classpath. However, this could be a security concern in a production
- * environment; a user could edit the <tt>isis.properties</tt> config files
- * to disable security, for example.
- * <p>
- * This method therefore allows this system to be configured using a
- * different {@link IsisConfigurationBuilder}. For example, a
- * security-conscious subclass could return a
- * {@link IsisConfigurationBuilder} that only reads from the classpath. This
- * would allow the application to be deployed as a single sealed JAR that
- * could not be tampered with.
- * <p>
- * An adjustment (as per GOOS book).
- */
- public void setConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
- this.isisConfigurationBuilder = isisConfigurationBuilder;
- this.installerLookup = new InstallerLookup(isisConfigurationBuilder.getConfiguration());
-
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////
- // parse and validate
- // ///////////////////////////////////////////////////////////////////////////////////////
-
- public final boolean parseAndValidate() {
-
- // add options (ie cmd line flags)
- final Options options = createOptions();
-
- // parse & validate options from the cmd line
- final BootPrinter printer = new BootPrinter(getClass());
- return parseOptions(options, printer) && validateOptions(options, printer);
- }
-
- private Options createOptions() {
- final Options options = new Options();
- for (final OptionHandler optionHandler : optionHandlers) {
- optionHandler.addOption(options);
- }
- return options;
- }
-
- private boolean parseOptions(final Options options, final BootPrinter printer) {
- final CommandLineParser parser = new BasicParser();
- try {
- final CommandLine commandLine = parser.parse(options, args);
- for (final OptionHandler optionHandler : optionHandlers) {
- if (!optionHandler.handle(commandLine, printer, options)) {
- return false;
- }
- }
- } catch (final ParseException e) {
- printer.printErrorMessage(e.getMessage());
- printer.printHelp(options);
- return false;
- }
- return true;
- }
-
- private boolean validateOptions(final Options options, final BootPrinter printer) {
- final DeploymentType deploymentType = optionHandlerDeploymentType.getDeploymentType();
-
- for (final OptionValidator validator : validators) {
- final Optional<String> errorMessage = validator.validate(deploymentType);
- if (errorMessage.isPresent()) {
- printer.printErrorAndHelp(options, errorMessage.get());
- return false;
- }
- }
- return true;
- }
-
- public IsisConfigurationBuilder getStartupConfiguration() {
- return isisConfigurationBuilder;
- }
-
- public void primeConfigurationWithCommandLineOptions() {
- for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : optionHandlers) {
- LOG.debug("priming configurations for " + isisConfigurationBuilderPrimer);
- isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
- }
- }
-
- public void loadInitialProperties() {
- isisConfigurationBuilder.addDefaultConfigurationResources();
- }
-
-
- // ///////////////////////////////////////////////////////////////////////////////////////
- // Bootstrapping
- // ///////////////////////////////////////////////////////////////////////////////////////
-
- // TODO remove and use is desktop runner
-
- public final void bootstrap(final IsisBootstrapper bootstrapper) {
-
- final DeploymentType deploymentType = optionHandlerDeploymentType.getDeploymentType();
-
- IsisConfigurationDefault isisConfiguration = isisConfigurationBuilder.getConfiguration();
-
- this.globalInjector = createGuiceInjector(deploymentType, isisConfiguration);
-
- bootstrapper.bootstrap(globalInjector);
- }
-
- private Injector createGuiceInjector(
- final DeploymentType deploymentType,
- final IsisConfigurationDefault isisConfiguration) {
- final IsisInjectModule isisModule =
- new IsisInjectModule(deploymentType, isisConfiguration);
- return Guice.createInjector(isisModule);
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////
- // Handlers & Validators
- // ///////////////////////////////////////////////////////////////////////////////////////
-
- public final List<OptionHandler> getOptionHandlers() {
- return Collections.unmodifiableList(optionHandlers);
- }
-
- private void addStandardOptionHandlersAndValidators() {
- addOptionHandler(optionHandlerDeploymentType);
- addOptionHandler(new OptionHandlerConfiguration());
-
- // intention is to delete this: better to use isis.reflector.facets.include and isis.reflector.facets.exclude properties
- // addOptionHandler(new OptionHandlerReflector(installerLookup));
-
- addOptionHandler(new OptionHandlerAppManifest());
- addOptionHandler(new OptionHandlerFixture());
-
- // no-op
- //addOptionHandler(new OptionHandlerNoSplash());
-
- addOptionHandler(new OptionHandlerAdditionalProperty());
- addOptionHandler(new OptionHandlerFixtureFromEnvironmentVariable());
- addOptionHandler(new OptionHandlerSystemProperties());
-
- // no-op
- // addOptionHandler(new OptionHandlerDebug());
-
- // no-op
- // addOptionHandler(new OptionHandlerDiagnostics());
- // no-op
- // addOptionHandler(new OptionHandlerQuiet());
- // no-op
- // addOptionHandler(new OptionHandlerVerbose());
-
- addOptionHandler(new OptionHandlerHelp());
- addOptionHandler(new OptionHandlerVersion());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
index 9ecc038..7310746 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAdditionalProperty.java
@@ -28,7 +28,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
@@ -52,7 +52,7 @@ public class OptionHandlerAdditionalProperty extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
addConfigurationProperties(isisConfigurationBuilder, additionalProperties);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
index f6e937f..03ad1ba 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerAppManifest.java
@@ -26,7 +26,7 @@ import org.apache.commons.cli.Options;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
@@ -34,8 +34,6 @@ import org.apache.isis.core.runtime.system.SystemConstants;
import static org.apache.isis.core.runtime.runner.Constants.APP_MANIFEST_LONG_OPT;
import static org.apache.isis.core.runtime.runner.Constants.APP_MANIFEST_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.FIXTURE_LONG_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.FIXTURE_OPT;
public class OptionHandlerAppManifest extends OptionHandlerAbstract {
@@ -64,7 +62,7 @@ public class OptionHandlerAppManifest extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (appManifestClassName == null) {
return;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
index d52bc7e..f267adb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerConfiguration.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.commons.config.NotFoundPolicy;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -51,7 +51,7 @@ public class OptionHandlerConfiguration extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (configurationResource == null) {
return;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
index bda880c..5f3874e 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDebug.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -49,7 +49,7 @@ public class OptionHandlerDebug extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
// TODO need to prime or otherwise set logging.
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
index 307a0fb..6a29977 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDeploymentType.java
@@ -19,22 +19,22 @@
package org.apache.isis.core.runtime.runner.opts;
-import static org.apache.isis.core.runtime.runner.Constants.TYPE_LONG_OPT;
-import static org.apache.isis.core.runtime.runner.Constants.TYPE_OPT;
-
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
import org.apache.isis.core.commons.config.NotFoundPolicy;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.core.runtime.system.SystemConstants;
+import static org.apache.isis.core.runtime.runner.Constants.TYPE_LONG_OPT;
+import static org.apache.isis.core.runtime.runner.Constants.TYPE_OPT;
+
public abstract class OptionHandlerDeploymentType extends OptionHandlerAbstract {
private final DeploymentType defaultDeploymentType;
@@ -79,7 +79,7 @@ public abstract class OptionHandlerDeploymentType extends OptionHandlerAbstract
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
final String type = deploymentType.nameLowerCase();
isisConfigurationBuilder.addConfigurationResource(type + ".properties", NotFoundPolicy.CONTINUE);
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
index 87ee3a2..479cba4 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerDiagnostics.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
@@ -54,7 +54,7 @@ public class OptionHandlerDiagnostics extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
// TODO need to do what, exactly?
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
index 4c3831f..1fa1b6b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureAbstract.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.system.SystemConstants;
@@ -36,7 +36,7 @@ public abstract class OptionHandlerFixtureAbstract extends OptionHandlerAbstract
protected String fixtureClassName;
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (fixtureClassName == null) {
return;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
index ff1413d..b05406e 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerFixtureFromEnvironmentVariable.java
@@ -24,10 +24,8 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
-import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
-import org.apache.isis.core.runtime.system.SystemConstants;
public class OptionHandlerFixtureFromEnvironmentVariable extends OptionHandlerFixtureAbstract {
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
index fbb7e26..839d331 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerHelp.java
@@ -25,7 +25,7 @@ import static org.apache.isis.core.runtime.runner.Constants.HELP_OPT;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
@@ -52,7 +52,7 @@ public class OptionHandlerHelp extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
// nothing to do
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
index 6996cc0..8f0c031 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerInitParameters.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -55,7 +55,7 @@ public class OptionHandlerInitParameters extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
Map<String,String> additionalProperties = asMap(servletContext);
LOG.info("priming configuration builder: " + additionalProperties.size() + " properties to prime");
addConfigurationProperties(isisConfigurationBuilder, additionalProperties);
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
index 9ae4849..b46823b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerNoSplash.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.system.SystemConstants;
@@ -54,7 +54,7 @@ public class OptionHandlerNoSplash extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
if (noSplash) {
isisConfigurationBuilder.add(SystemConstants.NOSPLASH_KEY, "true");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
index d7d7fbe..10a43a2 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerPassword.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
@@ -55,7 +55,7 @@ public class OptionHandlerPassword extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
isisConfigurationBuilder.add(SystemConstants.PASSWORD_KEY, password);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
index 1c71102..0327090 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerQuiet.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -49,7 +49,7 @@ public class OptionHandlerQuiet extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
// TODO need to do what, exactly???
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
index 80066fd..684874b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
@@ -24,7 +24,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
import org.apache.isis.core.runtime.installerregistry.InstallerRepository;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
@@ -64,7 +64,7 @@ public class OptionHandlerReflector extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
isisConfigurationBuilder.add(SystemConstants.REFLECTOR_KEY, reflector);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
index 6513a6f..7478d2f 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerSystemProperties.java
@@ -26,7 +26,7 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -60,7 +60,7 @@ public class OptionHandlerSystemProperties extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
LOG.debug("priming configuration builder: " + additionalProperties.size() + " properties to prime");
addConfigurationProperties(isisConfigurationBuilder, additionalProperties);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
index 2c4d2aa..a6ccdcb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerUser.java
@@ -27,7 +27,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
@@ -56,7 +56,7 @@ public class OptionHandlerUser extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
isisConfigurationBuilder.add(SystemConstants.USER_KEY, userName);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
index c2c5da1..57f2791 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVerbose.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.runtime.runner.opts;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -49,7 +49,7 @@ public class OptionHandlerVerbose extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
// TODO need to do what, exactly???
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
index e6b1b00..3cd6bc6 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerVersion.java
@@ -24,7 +24,7 @@ import static org.apache.isis.core.runtime.runner.Constants.VERSION_OPT;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
import org.apache.isis.core.runtime.runner.Constants;
@@ -50,7 +50,7 @@ public class OptionHandlerVersion extends OptionHandlerAbstract {
}
@Override
- public void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder) {
+ public void prime(final IsisConfigurationBuilder isisConfigurationBuilder) {
// nothing to do
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
deleted file mode 100644
index dc2a049..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.runtime.runner.opts;
-
-import com.google.common.base.Optional;
-
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public interface OptionValidator {
- public Optional<String> validate(final DeploymentType deploymentType);
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java
deleted file mode 100644
index be810df..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionValidatorUserAndPasswordCombo.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.runtime.runner.opts;
-
-import com.google.common.base.Optional;
-
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public final class OptionValidatorUserAndPasswordCombo implements OptionValidator {
-
- private final OptionHandlerUser optionHandlerUser;
- private final OptionHandlerPassword optionHandlerPassword;
-
- public OptionValidatorUserAndPasswordCombo(final OptionHandlerUser optionHandlerUser, final OptionHandlerPassword optionHandlerPassword) {
- this.optionHandlerPassword = optionHandlerPassword;
- this.optionHandlerUser = optionHandlerUser;
- }
-
- @Override
- public Optional<String> validate(final DeploymentType deploymentType) {
- final String user = optionHandlerUser.getUserName();
- final String password = optionHandlerPassword.getPassword();
- final boolean ok = (password == null && user == null) || (password != null && user != null);
- return setIf(!ok, "A user name must be specified with a password");
- }
-
- private static Optional<String> setIf(final boolean fail, final String failMsg) {
- return fail? Optional.of(failMsg): Optional.<String>absent();
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
index 8e72ba1..0ca08bb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstaller.java
@@ -32,9 +32,7 @@ public interface ServicesInstaller extends Installer {
* distinguish from the '--services' flag meaning a particular set of
* services to use (whereas this flag means how to locate them).
*/
- static String TYPE = "services-installer";
+ String TYPE = "services-installer";
List<Object> getServices();
-
- void setIgnoreFailures(boolean ignoreFailures);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
index 5a6b102..ec9a92b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerAbstract.java
@@ -19,13 +19,15 @@
package org.apache.isis.core.runtime.services;
-import org.apache.isis.core.commons.config.InstallerAbstract;
+import org.apache.isis.core.commons.components.InstallerAbstract;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
public abstract class ServicesInstallerAbstract extends InstallerAbstract implements ServicesInstaller {
- public ServicesInstallerAbstract(final String name) {
- super(ServicesInstaller.TYPE, name);
+ public ServicesInstallerAbstract(
+ final String name,
+ final IsisConfigurationDefault isisConfiguration) {
+ super(ServicesInstaller.TYPE, name, isisConfiguration);
}
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
----------------------------------------------------------------------
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 5b7ebb2..2fe04ef 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
@@ -45,6 +45,7 @@ import org.apache.isis.applib.AppManifest;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.metamodel.util.DeweyOrderComparator;
import static com.google.common.base.Predicates.and;
@@ -52,6 +53,8 @@ import static com.google.common.base.Predicates.not;
public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
+ //region > constants
+
private static final Logger LOG = LoggerFactory.getLogger(ServicesInstallerFromAnnotation.class);
public static final String NAME = "annotation";
@@ -70,19 +73,25 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
* </p>
*/
public final static String PACKAGE_PREFIX_STANDARD = Joiner.on(",").join(AppManifest.Registry.FRAMEWORK_PROVIDED_SERVICES);
+ //endregion
+
+ //region > constructor, fields
private final ServiceInstantiator serviceInstantiator;
- public ServicesInstallerFromAnnotation() {
- this(new ServiceInstantiator());
+ public ServicesInstallerFromAnnotation(final IsisConfigurationDefault isisConfiguration) {
+ this(new ServiceInstantiator(), isisConfiguration);
}
- public ServicesInstallerFromAnnotation(final ServiceInstantiator serviceInstantiator) {
- super(NAME);
+ public ServicesInstallerFromAnnotation(
+ final ServiceInstantiator serviceInstantiator,
+ final IsisConfigurationDefault isisConfiguration) {
+ super(NAME, isisConfiguration);
this.serviceInstantiator = serviceInstantiator;
}
+ //endregion
-
+ //region > packagePrefixes
private String packagePrefixes;
/**
@@ -95,12 +104,9 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
public void withPackagePrefixes(final String... packagePrefixes) {
this.packagePrefixes = Joiner.on(",").join(packagePrefixes);
}
+ //endregion
- @Override
- public void setIgnoreFailures(final boolean ignoreFailures) {
- // no-op
- }
-
+ //region > init, shutdown
public void init() {
initIfRequired();
@@ -138,7 +144,9 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
public void shutdown() {
}
- // //////////////////////////////////////
+ //endregion
+
+ //region > helpers
private Predicate<Class<?>> instantiatable() {
return and(not(nullClass()), not(abstractClass()));
@@ -173,26 +181,28 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
};
}
+ //endregion
- // //////////////////////////////////////
+ //region > getServices (API)
- private List<Object> serviceList;
+ private List<Object> services;
@Override
public List<Object> getServices() {
initIfRequired();
- if(this.serviceList == null) {
+ if(this.services == null) {
final SortedMap<String, SortedSet<String>> positionedServices = Maps.newTreeMap(new DeweyOrderComparator());
appendServices(positionedServices);
- this.serviceList = ServicesInstallerUtils.instantiateServicesFrom(positionedServices, serviceInstantiator);
+ this.services = ServicesInstallerUtils.instantiateServicesFrom(positionedServices, serviceInstantiator);
}
- return serviceList;
+ return services;
}
+ //endregion
- // //////////////////////////////////////
+ //region > appendServices
public void appendServices(final SortedMap<String, SortedSet<String>> positionedServices) {
initIfRequired();
@@ -220,6 +230,10 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
}
}
+ //endregion
+
+ //region > helpers: orderOf, nameOf, asList
+
private static String orderOf(final Class<?> cls) {
final DomainServiceLayout domainServiceLayout = cls.getAnnotation(DomainServiceLayout.class);
String order = domainServiceLayout != null ? domainServiceLayout.menuOrder(): null;
@@ -239,17 +253,32 @@ public class ServicesInstallerFromAnnotation extends ServicesInstallerAbstract {
return name;
}
- protected List<String> asList(final String csv) {
+ private static List<String> asList(final String csv) {
return Lists.newArrayList(Iterables.transform(Splitter.on(",").split(csv), trim()));
}
+ //endregion
+
+ //region > domain events
+ public static abstract class PropertyDomainEvent<T>
+ extends org.apache.isis.applib.services.eventbus.PropertyDomainEvent<ServicesInstallerFromAnnotation, T> {
+ }
+ public static abstract class CollectionDomainEvent<T>
+ extends org.apache.isis.applib.services.eventbus.CollectionDomainEvent<ServicesInstallerFromAnnotation, T> {
+ }
+
+ public static abstract class ActionDomainEvent
+ extends org.apache.isis.applib.services.eventbus.ActionDomainEvent<ServicesInstallerFromAnnotation> {
+ }
+ //endregion
- // //////////////////////////////////////
+ //region > getTypes (API)
@Override
public List<Class<?>> getTypes() {
return listOf(List.class); // ie List<Object.class>, of services
}
+ //endregion
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfiguration.java
----------------------------------------------------------------------
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 0b75593..5fb1b17 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
@@ -34,6 +34,7 @@ import org.slf4j.LoggerFactory;
import org.apache.isis.core.commons.config.ConfigurationConstants;
import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.metamodel.util.DeweyOrderComparator;
import org.apache.isis.core.runtime.fixturedomainservice.ObjectFixtureService;
import org.apache.isis.core.runtime.system.DeploymentType;
@@ -69,23 +70,20 @@ public class ServicesInstallerFromConfiguration extends ServicesInstallerAbstrac
private final ServiceInstantiator serviceInstantiator;
- public ServicesInstallerFromConfiguration() {
- this(new ServiceInstantiator());
+ public ServicesInstallerFromConfiguration(final IsisConfigurationDefault isisConfiguration) {
+ this(new ServiceInstantiator(), isisConfiguration);
}
- ServicesInstallerFromConfiguration(final ServiceInstantiator serviceInstantiator) {
- super(NAME);
+ ServicesInstallerFromConfiguration(
+ final ServiceInstantiator serviceInstantiator,
+ final IsisConfigurationDefault isisConfiguration) {
+ super(NAME, isisConfiguration);
this.serviceInstantiator = serviceInstantiator;
}
// //////////////////////////////////////
- @Override
- public void setIgnoreFailures(boolean ignoreFailures) {
- // no-op
- }
-
public void init() {
initIfRequired();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
index 20c5869..1a63838 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
@@ -28,8 +28,7 @@ import com.google.common.collect.Maps;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.metamodel.util.DeweyOrderComparator;
public class ServicesInstallerFromConfigurationAndAnnotation extends ServicesInstallerAbstract {
@@ -43,33 +42,21 @@ public class ServicesInstallerFromConfigurationAndAnnotation extends ServicesIns
private final ServicesInstallerFromAnnotation servicesInstallerFromAnnotation;
- public ServicesInstallerFromConfigurationAndAnnotation() {
- this(new ServiceInstantiator());
+ public ServicesInstallerFromConfigurationAndAnnotation(final IsisConfigurationDefault isisConfiguration) {
+ this(new ServiceInstantiator(), isisConfiguration);
}
- public ServicesInstallerFromConfigurationAndAnnotation(final ServiceInstantiator serviceInstantiator) {
- super(NAME);
+ public ServicesInstallerFromConfigurationAndAnnotation(
+ final ServiceInstantiator serviceInstantiator,
+ final IsisConfigurationDefault isisConfiguration) {
+ super(NAME, isisConfiguration);
this.serviceInstantiator = serviceInstantiator;
- servicesInstallerFromConfiguration = new ServicesInstallerFromConfiguration(serviceInstantiator);
- servicesInstallerFromAnnotation = new ServicesInstallerFromAnnotation(serviceInstantiator);
+ servicesInstallerFromConfiguration = new ServicesInstallerFromConfiguration(serviceInstantiator,
+ isisConfiguration);
+ servicesInstallerFromAnnotation = new ServicesInstallerFromAnnotation(serviceInstantiator, isisConfiguration);
}
- public void setIgnoreFailures(boolean ignoreFailures) {
- this.serviceInstantiator.setIgnoreFailures(ignoreFailures);
- }
-
- @Override
- public void setConfigurationBuilder(IsisConfigurationBuilder isisConfigurationBuilder) {
- servicesInstallerFromConfiguration.setConfigurationBuilder(isisConfigurationBuilder);
- servicesInstallerFromAnnotation.setConfigurationBuilder(isisConfigurationBuilder);
- }
-
- @Override
- public void setConfiguration(IsisConfiguration configuration) {
- servicesInstallerFromConfiguration.setConfiguration(configuration);
- servicesInstallerFromAnnotation.setConfiguration(configuration);
- }
public void init() {
servicesInstallerFromConfiguration.init();
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
index 8d482c6..9b79dac 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystemFactory.java
@@ -22,8 +22,6 @@ package org.apache.isis.core.runtime.system;
import java.util.List;
import java.util.Map;
-import javax.annotation.Nullable;
-
import com.google.inject.Inject;
import org.apache.isis.applib.AppManifest;
@@ -78,7 +76,6 @@ public class IsisSystemFactory implements ApplicationScopedComponent {
public static final AppManifest APP_MANIFEST_NOOP = NOOP;
-
private final InstallerLookup installerLookup;
@Inject
http://git-wip-us.apache.org/repos/asf/isis/blob/74565888/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
index a86e9fc..1dc25ca 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
@@ -89,7 +89,6 @@ import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingLifecycleE
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.MessageBrokerService;
import org.apache.isis.core.metamodel.runtimecontext.MessageBrokerServiceAware;
import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
@@ -155,11 +154,11 @@ public class PersistenceSession implements
AdapterManager,
MessageBrokerService,
PersistenceSessionService,
- ConfigurationServiceInternal,
IsisLifecycleListener2.PersistenceSessionLifecycleManagement,
IsisTransactionManager.PersistenceSessionTransactionManagement,
PersistenceQueryProcessorAbstract.PersistenceSessionQueryProcessorManagement {
+ //region > constants
private static final Logger LOG = LoggerFactory.getLogger(PersistenceSession.class);
/**
@@ -174,7 +173,7 @@ public class PersistenceSession implements
* Append regular <a href="http://www.datanucleus.org/products/accessplatform/persistence_properties.html">datanucleus properties</a> to this key
*/
public static final String DATANUCLEUS_PROPERTIES_ROOT = ROOT_KEY + "impl.";
-
+ //endregion
//region > constructor, fields, finalize()
@@ -258,6 +257,7 @@ public class PersistenceSession implements
//endregion
+
//region > open
/**
@@ -1237,14 +1237,6 @@ public class PersistenceSession implements
//endregion
-
- @Override
- public String toString() {
- return new ToString(this).toString();
- }
-
- //endregion
-
//region > dependencies (from constructor)
protected SpecificationLoaderSpi getSpecificationLoader() {
@@ -1264,7 +1256,7 @@ public class PersistenceSession implements
//endregion
- //region > sub components
+ //region > transactionManager
/**
@@ -2331,24 +2323,18 @@ public class PersistenceSession implements
}
-
//endregion
- //region > ConfigurationService delegate
+ //region > toString
@Override
- public String getProperty(final String name) {
- return configuration.getProperty(name);
+ public String toString() {
+ return new ToString(this).toString();
}
- @Override
- public List<String> getPropertyNames() {
- return configuration.getPropertyNames();
- }
//endregion
-
}