Author: mthl
Date: Fri Oct 18 19:46:32 2019 New Revision: 1868601 URL: http://svn.apache.org/viewvc?rev=1868601&view=rev Log: Improved: Refactor ‘ContainerConfig’ class (OFBIZ-11256) This removes some code duplication, make things immutable and add some javadoc. Modified: ofbiz/ofbiz-framework/trunk/build.gradle ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/component/ComponentConfig.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerConfig.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/NamingServiceContainer.java ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/CatalinaContainer.java ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceContainer.java ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/mail/JavaMailContainer.java ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/rmi/RmiServiceContainer.java Modified: ofbiz/ofbiz-framework/trunk/build.gradle URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/build.gradle?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/build.gradle (original) +++ ofbiz/ofbiz-framework/trunk/build.gradle Fri Oct 18 19:46:32 2019 @@ -307,7 +307,7 @@ checkstyle { // the sum of errors that were present before introducing the // âcheckstyleâ tool present in the framework and in the official // plugins. - maxErrors = 37967 + maxErrors = 37947 // Currently there are a lot of errors so we need to temporarily // hide them to avoid polluting the terminal output. showViolations = false Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/component/ComponentConfig.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/component/ComponentConfig.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/component/ComponentConfig.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/component/ComponentConfig.java Fri Oct 18 19:46:32 2019 @@ -37,7 +37,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.ofbiz.base.container.ContainerConfig; -import org.apache.ofbiz.base.container.ContainerConfig.Configuration; import org.apache.ofbiz.base.container.ContainerException; import org.apache.ofbiz.base.location.FlexibleLocation; import org.apache.ofbiz.base.util.Assert; @@ -431,8 +430,7 @@ public final class ComponentConfig { Collectors.toMap(rli -> rli.name, rli -> rli), Collections::unmodifiableMap)); try { - Collection<Configuration> configurations = ContainerConfig.getConfigurations(xmlUrl); - this.configurations = Collections.unmodifiableList(new ArrayList<>(configurations)); + configurations = ContainerConfig.getConfigurations(componentElement); } catch (ContainerException ce) { throw new ComponentException("Error reading container configurations for component: " + this.globalName, ce); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerConfig.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerConfig.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerConfig.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerConfig.java Fri Oct 18 19:46:32 2019 @@ -1,4 +1,4 @@ -/******************************************************************************* +/* * 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 @@ -15,39 +15,32 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - *******************************************************************************/ + */ package org.apache.ofbiz.base.container; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collection; +import static java.util.stream.Collectors.collectingAndThen; +import static java.util.stream.Collectors.toList; + +import java.util.Collections; import java.util.LinkedHashMap; -import java.util.LinkedList; import java.util.List; import java.util.Map; - -import javax.xml.parsers.ParserConfigurationException; +import java.util.Objects; import org.apache.ofbiz.base.util.StringUtil; import org.apache.ofbiz.base.util.UtilValidate; import org.apache.ofbiz.base.util.UtilXml; -import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.xml.sax.SAXException; /** - * ContainerConfig - Container configuration for ofbiz.xml - * + * A container configuration. */ -public class ContainerConfig { - - private ContainerConfig() {} - - public static final String module = ContainerConfig.class.getName(); - +public final class ContainerConfig { + /** The global container configuration store. */ private static Map<String, Configuration> configurations = new LinkedHashMap<>(); + private ContainerConfig() { } + /** * Retrieves the container configuration element corresponding to a container name. * @@ -78,29 +71,33 @@ public class ContainerConfig { return configuration; } - public static Collection<Configuration> getConfigurations(URL xmlUrl) throws ContainerException { - if (xmlUrl == null) { - throw new ContainerException("xmlUrl argument cannot be null"); - } - Collection<Configuration> result = getConfigurationPropsFromXml(xmlUrl); + /** + * Finds the container configuration elements in a . + * + * @param root the URL of the XML file which cannot be {@code null} + * @return a list of container configuration + * @throws ContainerException when failing to read the XML document. + */ + public static List<Configuration> getConfigurations(Element root) throws ContainerException { + List<Configuration> res = UtilXml.childElementList(root, "container").stream() + .map(Configuration::new) + .collect(collectingAndThen(toList(), Collections::unmodifiableList)); synchronized (ContainerConfig.class) { - for (Configuration container : result) { - configurations.put(container.name, container); - } + res.forEach(cfg -> configurations.put(cfg.name, cfg)); } - return result; + return res; } - public static String getPropertyValue(ContainerConfig.Configuration parentProp, String name, String defaultValue) { - ContainerConfig.Configuration.Property prop = parentProp.getProperty(name); + public static String getPropertyValue(Configuration parentProp, String name, String defaultValue) { + Property prop = parentProp.getProperty(name); if (prop == null || UtilValidate.isEmpty(prop.value)) { return defaultValue; } return prop.value; } - public static int getPropertyValue(ContainerConfig.Configuration parentProp, String name, int defaultValue) { - ContainerConfig.Configuration.Property prop = parentProp.getProperty(name); + public static int getPropertyValue(Configuration parentProp, String name, int defaultValue) { + Property prop = parentProp.getProperty(name); if (prop == null || UtilValidate.isEmpty(prop.value)) { return defaultValue; } @@ -111,24 +108,24 @@ public class ContainerConfig { } } - public static boolean getPropertyValue(ContainerConfig.Configuration parentProp, String name, boolean defaultValue) { - ContainerConfig.Configuration.Property prop = parentProp.getProperty(name); + public static boolean getPropertyValue(Configuration parentProp, String name, boolean defaultValue) { + Property prop = parentProp.getProperty(name); if (prop == null || UtilValidate.isEmpty(prop.value)) { return defaultValue; } return "true".equalsIgnoreCase(prop.value); } - public static String getPropertyValue(ContainerConfig.Configuration.Property parentProp, String name, String defaultValue) { - ContainerConfig.Configuration.Property prop = parentProp.getProperty(name); + public static String getPropertyValue(Property parentProp, String name, String defaultValue) { + Property prop = parentProp.getProperty(name); if (prop == null || UtilValidate.isEmpty(prop.value)) { return defaultValue; } return prop.value; } - public static int getPropertyValue(ContainerConfig.Configuration.Property parentProp, String name, int defaultValue) { - ContainerConfig.Configuration.Property prop = parentProp.getProperty(name); + public static int getPropertyValue(Property parentProp, String name, int defaultValue) { + Property prop = parentProp.getProperty(name); if (prop == null || UtilValidate.isEmpty(prop.value)) { return defaultValue; } @@ -139,97 +136,181 @@ public class ContainerConfig { } } - public static boolean getPropertyValue(ContainerConfig.Configuration.Property parentProp, String name, boolean defaultValue) { - ContainerConfig.Configuration.Property prop = parentProp.getProperty(name); + public static boolean getPropertyValue(Property parentProp, String name, boolean defaultValue) { + Property prop = parentProp.getProperty(name); if (prop == null || UtilValidate.isEmpty(prop.value)) { return defaultValue; } return "true".equalsIgnoreCase(prop.value); } - private static Collection<Configuration> getConfigurationPropsFromXml(URL xmlUrl) throws ContainerException { - Document containerDocument = null; - try { - containerDocument = UtilXml.readXmlDocument(xmlUrl, true); - } catch (SAXException | ParserConfigurationException | IOException e) { - throw new ContainerException("Error reading the container config file: " + xmlUrl, e); - } - Element root = containerDocument.getDocumentElement(); - List<Configuration> result = new ArrayList<>(); - for (Element curElement: UtilXml.childElementList(root, "container")) { - result.add(new Configuration(curElement)); + /** + * A container configuration. + */ + public static class Configuration { + /** The identifier of the configuration. */ + private final String name; + /** The name of class the configuration. */ + private final String className; + /** The list of loader names triggering the launch of the container. */ + private final List<String> loaders; + /** The container property elements. */ + private final Map<String, Property> properties; + + /** + * Constructs a container configuration. + * + * @param element the {@code <container>} XML element to parse + */ + public Configuration(Element element) { + name = element.getAttribute("name"); + className = element.getAttribute("class"); + loaders = Collections.unmodifiableList(StringUtil.split(element.getAttribute("loaders"), ",")); + properties = Property.parseProps(element); + } + + /** + * @return the name + */ + public String name() { + return name; + } + + /** + * @return the className + */ + public String className() { + return className; + } + + /** + * @return the loaders + */ + public List<String> loaders() { + return loaders; + } + + /** + * @return the properties + */ + public Map<String, Property> properties() { + return properties; + } + + /** + * Provides the child property corresponding to a specified identifier. + * + * @param name the child property identifier + * @return the property corresponding to {@code name} or {@code null} if the identifier is absent. + */ + public Property getProperty(String name) { + return properties().get(name); } - return result; - } - public static class Configuration { - public final String name; - public final String className; - public final List<String> loaders; - public final Map<String, Property> properties; + /** + * Provides all the child properties whose values are equal a specified value. + * + * @param value the value to match + * @return a list of matching properties + */ + public List<Property> getPropertiesWithValue(String value) { + return Property.getPropertiesWithValue(properties(), value); + } + } - public Configuration(Element element) { - this.name = element.getAttribute("name"); - this.className = element.getAttribute("class"); - this.loaders = StringUtil.split(element.getAttribute("loaders"), ","); - - properties = new LinkedHashMap<>(); - for (Element curElement: UtilXml.childElementList(element, "property")) { - Property property = new Property(curElement); - properties.put(property.name, property); + /** + * A tree of container configuration properties. + */ + public static class Property { + /** The identifier of the configuration element */ + private final String name; + /** The value associated with the {@code name} identifier. */ + private final String value; + /** The properties children */ + private final Map<String, Property> properties; + + /** + * Constructs a container configuration element. + * + * @param element the {@code <property>} XML element containing the configuration. + */ + public Property(Element element) { + name = element.getAttribute("name"); + String value = element.getAttribute("value"); + if (UtilValidate.isEmpty(value)) { + value = UtilXml.childElementValue(element, "property-value"); } + this.value = value; + this.properties = parseProps(element); } + /** + * @return the name + */ + public String name() { + return name; + } + + /** + * @return the value + */ + public String value() { + return value; + } + + /** + * @return the properties + */ + public Map<String, Property> properties() { + return properties; + } + + /** + * Provides the child property corresponding to a specified identifier. + * + * @param name the child property identifier + * @return the property corresponding to {@code name} or {@code null} if the identifier is absent. + */ public Property getProperty(String name) { return properties.get(name); } + /** + * Provides all the child properties whose values are equal a specified value. + * + * @param value the value to match + * @return a list of matching properties + */ public List<Property> getPropertiesWithValue(String value) { - List<Property> props = new LinkedList<>(); - if (UtilValidate.isNotEmpty(properties)) { - for (Property p: properties.values()) { - if (p != null && value.equals(p.value)) { - props.add(p); - } - } - } - return props; + return getPropertiesWithValue(properties, value); } - public static class Property { - public String name; - public String value; - public Map<String, Property> properties; - - public Property(Element element) { - this.name = element.getAttribute("name"); - this.value = element.getAttribute("value"); - if (UtilValidate.isEmpty(this.value)) { - this.value = UtilXml.childElementValue(element, "property-value"); - } - - properties = new LinkedHashMap<>(); - for (Element curElement: UtilXml.childElementList(element, "property")) { - Property property = new Property(curElement); - properties.put(property.name, property); - } - } - - public Property getProperty(String name) { - return properties.get(name); - } - - public List<Property> getPropertiesWithValue(String value) { - List<Property> props = new LinkedList<>(); - if (UtilValidate.isNotEmpty(properties)) { - for (Property p: properties.values()) { - if (p != null && value.equals(p.value)) { - props.add(p); - } - } - } - return props; - } + /** + * Aggregates the {@code <property>} XML elements in a Map. + * + * @param root the root XML Element containing {@code <property>} children + * @return a map of property elements + */ + private static Map<String, Property> parseProps(Element root) { + LinkedHashMap<String, Property> res = new LinkedHashMap<>(); + UtilXml.childElementList(root, "property").forEach(el -> { + Property p = new Property(el); + res.put(p.name, p); + }); + return Collections.unmodifiableMap(res); + } + + /** + * Provides all the child properties whose values are equal a specified value. + * + * @param value the value to match + * @return a list of matching properties + */ + private static List<Property> getPropertiesWithValue(Map<String, Property> propkvs, String value) { + return propkvs.values().stream() + .filter(Objects::nonNull) + .filter(p -> value.equals(p.value)) + .collect(toList()); } } } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/ContainerLoader.java Fri Oct 18 19:46:32 2019 @@ -102,11 +102,11 @@ public class ContainerLoader { List<StartupCommand> ofbizCommands) throws StartupException { List<Container> loadContainers = new ArrayList<>(); for (ContainerConfig.Configuration containerCfg : ComponentConfig.getAllConfigurations()) { - if (intersects(containerCfg.loaders, loaders)) { - Debug.logInfo("Loading container: " + containerCfg.name, module); + if (intersects(containerCfg.loaders(), loaders)) { + Debug.logInfo("Loading container: " + containerCfg.name(), module); Container tmpContainer = loadContainer(containerCfg, ofbizCommands); loadContainers.add(tmpContainer); - Debug.logInfo("Loaded container: " + containerCfg.name, module); + Debug.logInfo("Loaded container: " + containerCfg.name(), module); } } return loadContainers; @@ -119,7 +119,7 @@ public class ContainerLoader { ClassLoader loader = Thread.currentThread().getContextClassLoader(); Class<?> containerClass; try { - containerClass = loader.loadClass(containerCfg.className); + containerClass = loader.loadClass(containerCfg.className()); } catch (ClassNotFoundException e) { throw new StartupException("Cannot locate container class", e); } @@ -132,7 +132,7 @@ public class ContainerLoader { try { containerObj = (Container) containerClass.getDeclaredConstructor().newInstance(); } catch (ReflectiveOperationException e) { - throw new StartupException("Cannot create " + containerCfg.name, e); + throw new StartupException("Cannot create " + containerCfg.name(), e); } if (containerObj == null) { throw new StartupException("Unable to create instance of component container"); @@ -140,9 +140,9 @@ public class ContainerLoader { // initialize the container object try { - containerObj.init(ofbizCommands, containerCfg.name, null); + containerObj.init(ofbizCommands, containerCfg.name(), null); } catch (ContainerException e) { - throw new StartupException("Cannot init() " + containerCfg.name, e); + throw new StartupException("Cannot init() " + containerCfg.name(), e); } return containerObj; Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/NamingServiceContainer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/NamingServiceContainer.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/NamingServiceContainer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/container/NamingServiceContainer.java Fri Oct 18 19:46:32 2019 @@ -58,19 +58,19 @@ public class NamingServiceContainer impl // get the naming (JNDI) port - ContainerConfig.Configuration.Property port = cfg.getProperty("port"); - if (port.value != null) { + ContainerConfig.Property port = cfg.getProperty("port"); + if (port.value() != null) { try { - this.namingPort = Integer.parseInt(port.value) + Start.getInstance().getConfig().portOffset; + this.namingPort = Integer.parseInt(port.value()) + Start.getInstance().getConfig().portOffset; } catch (Exception e) { throw new ContainerException("Invalid port defined in container [naming-container] configuration or as portOffset; not a valid int"); } } // get the naming (JNDI) server - ContainerConfig.Configuration.Property host = cfg.getProperty("host"); - if (host != null && host.value != null) { - this.namingHost = host.value ; + ContainerConfig.Property host = cfg.getProperty("host"); + if (host != null && host.value() != null) { + this.namingHost = host.value() ; } try { Modified: ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/CatalinaContainer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/CatalinaContainer.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/CatalinaContainer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/catalina/src/main/java/org/apache/ofbiz/catalina/container/CatalinaContainer.java Fri Oct 18 19:46:32 2019 @@ -69,7 +69,7 @@ import org.apache.ofbiz.base.concurrent. import org.apache.ofbiz.base.container.Container; import org.apache.ofbiz.base.container.ContainerConfig; import org.apache.ofbiz.base.container.ContainerConfig.Configuration; -import org.apache.ofbiz.base.container.ContainerConfig.Configuration.Property; +import org.apache.ofbiz.base.container.ContainerConfig.Property; import org.apache.ofbiz.base.container.ContainerException; import org.apache.ofbiz.base.location.FlexibleLocation; import org.apache.ofbiz.base.start.Start; @@ -165,7 +165,7 @@ public class CatalinaContainer implement } private static Property retrieveTomcatEngineConfig(ContainerConfig.Configuration cc) throws ContainerException { - List<ContainerConfig.Configuration.Property> engineProps = cc.getPropertiesWithValue("engine"); + List<ContainerConfig.Property> engineProps = cc.getPropertiesWithValue("engine"); if (UtilValidate.isEmpty(engineProps)) { throw new ContainerException("Cannot load CatalinaContainer; no engines defined."); } @@ -175,9 +175,8 @@ public class CatalinaContainer implement return engineProps.get(0); } - private static Tomcat prepareTomcatServer(ContainerConfig.Configuration cc, - ContainerConfig.Configuration.Property engineConfig) throws ContainerException { - + private static Tomcat prepareTomcatServer(ContainerConfig.Configuration cc, ContainerConfig.Property engineConfig) + throws ContainerException { System.setProperty(Globals.CATALINA_HOME_PROP, System.getProperty("ofbiz.home") + "/" + ContainerConfig.getPropertyValue(cc, "catalina-runtime-home", "runtime/catalina")); System.setProperty(Globals.CATALINA_BASE_PROP, System.getProperty(Globals.CATALINA_HOME_PROP)); @@ -189,7 +188,7 @@ public class CatalinaContainer implement if (defaultHostProp == null) { throw new ContainerException("default-host element of server property is required for catalina!"); } - tomcat.setHostname(defaultHostProp.value); + tomcat.setHostname(defaultHostProp.value()); if (ContainerConfig.getPropertyValue(cc, "use-naming", false)) { tomcat.enableNaming(); @@ -207,7 +206,7 @@ public class CatalinaContainer implement private static Engine prepareTomcatEngine(Tomcat tomcat, Property engineConfig) { Engine engine = tomcat.getEngine(); - engine.setName(engineConfig.name); + engine.setName(engineConfig.name()); // set the JVM Route property (JK/JK2) String jvmRoute = ContainerConfig.getPropertyValue(engineConfig, "jvm-route", null); @@ -279,7 +278,7 @@ public class CatalinaContainer implement channel.setMembershipService(prepareChannelMcastService(clusterProp)); SimpleTcpCluster cluster = new SimpleTcpCluster(); - cluster.setClusterName(clusterProp.name); + cluster.setClusterName(clusterProp.name()); cluster.setManagerTemplate(prepareClusterManager(clusterProp)); cluster.setChannel(channel); cluster.addValve(prepareClusterValve(clusterProp)); @@ -416,7 +415,7 @@ public class CatalinaContainer implement throw new ContainerException("Cannot load CatalinaContainer; no connectors defined!"); } return connectorProps.stream() - .filter(connectorProp -> UtilValidate.isNotEmpty(connectorProp.properties)) + .filter(connectorProp -> UtilValidate.isNotEmpty(connectorProp.properties())) .map(connectorProp -> prepareConnector(connectorProp)) .collect(Collectors.toList()); } @@ -428,18 +427,23 @@ public class CatalinaContainer implement connector.addUpgradeProtocol(new Http2Protocol()); Debug.logInfo("Tomcat " + connector + ": enabled HTTP/2", module); } - connectorProp.properties.values().stream() - .filter(prop -> !"protocol".equals(prop.name) && !"upgradeProtocol".equals(prop.name) && !"port".equals(prop.name)) + connectorProp.properties().values().stream() + .filter(prop -> { + String name = prop.name(); + return !"protocol".equals(name) && !"upgradeProtocol".equals(name) && !"port".equals(name); + }) .forEach(prop -> { - if (IntrospectionUtils.setProperty(connector, prop.name, prop.value)) { - if (prop.name.indexOf("Pass") != -1) { + String name = prop.name(); + String value = prop.value(); + if (IntrospectionUtils.setProperty(connector, name, value)) { + if (name.indexOf("Pass") != -1) { // this property may be a password, do not include its value in the logs - Debug.logInfo("Tomcat " + connector + ": set " + prop.name, module); + Debug.logInfo("Tomcat " + connector + ": set " + name, module); } else { - Debug.logInfo("Tomcat " + connector + ": set " + prop.name + "=" + prop.value, module); + Debug.logInfo("Tomcat " + connector + ": set " + name + "=" + value, module); } } else { - Debug.logWarning("Tomcat " + connector + ": ignored parameter " + prop.name, module); + Debug.logWarning("Tomcat " + connector + ": ignored parameter " + name, module); } }); return connector; Modified: ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java Fri Oct 18 19:46:32 2019 @@ -35,7 +35,7 @@ import org.apache.ofbiz.base.component.C import org.apache.ofbiz.base.container.Container; import org.apache.ofbiz.base.container.ContainerConfig; import org.apache.ofbiz.base.container.ContainerConfig.Configuration; -import org.apache.ofbiz.base.container.ContainerConfig.Configuration.Property; +import org.apache.ofbiz.base.container.ContainerConfig.Property; import org.apache.ofbiz.base.container.ContainerException; import org.apache.ofbiz.base.start.StartupCommand; import org.apache.ofbiz.base.start.StartupCommandUtil; @@ -108,7 +108,7 @@ public class EntityDataLoadContainer imp if ("all-tenants".equals(overrideDelegator)) { // load data for all tenants for (GenericValue tenant : getTenantList(delegatorNameProp)) { - String tenantDelegator = delegatorNameProp.value + "#" + tenant.getString("tenantId"); + String tenantDelegator = delegatorNameProp.value() + "#" + tenant.getString("tenantId"); loadDataForDelegator(loadDataProps, configuration, delegatorNameProp, tenantDelegator); } } else { @@ -212,11 +212,11 @@ public class EntityDataLoadContainer imp if (overrideGroup != null) { return overrideGroup; } else { - ContainerConfig.Configuration.Property entityGroupNameProp = cfg.getProperty("entity-group-name"); - if (entityGroupNameProp == null || UtilValidate.isEmpty(entityGroupNameProp.value)) { + Property entityGroupNameProp = cfg.getProperty("entity-group-name"); + if (entityGroupNameProp == null || UtilValidate.isEmpty(entityGroupNameProp.value())) { throw new ContainerException("Invalid entity-group-name defined in container configuration"); } else { - return entityGroupNameProp.value; + return entityGroupNameProp.value(); } } } @@ -236,12 +236,13 @@ public class EntityDataLoadContainer imp } private static Delegator getDelegatorFromProp(Property delegatorNameProp) throws ContainerException { - if (delegatorNameProp != null && UtilValidate.isNotEmpty(delegatorNameProp.value)) { - Delegator delegator = DelegatorFactory.getDelegator(delegatorNameProp.value); + if (delegatorNameProp != null && UtilValidate.isNotEmpty(delegatorNameProp.value())) { + String delegValue = delegatorNameProp.value(); + Delegator delegator = DelegatorFactory.getDelegator(delegValue); if (delegator != null) { return delegator; } else { - throw new ContainerException("Invalid delegator name: " + delegatorNameProp.value); + throw new ContainerException("Invalid delegator name: " + delegValue); } } else { throw new ContainerException("Invalid delegator name defined in container configuration"); Modified: ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceContainer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceContainer.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceContainer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/ServiceContainer.java Fri Oct 18 19:46:32 2019 @@ -47,13 +47,13 @@ public class ServiceContainer implements this.name = name; // initialize the LocalDispatcherFactory ContainerConfig.Configuration cfg = ContainerConfig.getConfiguration(name); - ContainerConfig.Configuration.Property dispatcherFactoryProperty = cfg.getProperty("dispatcher-factory"); - if (dispatcherFactoryProperty == null || UtilValidate.isEmpty(dispatcherFactoryProperty.value)) { + ContainerConfig.Property dispatcherFactoryProperty = cfg.getProperty("dispatcher-factory"); + if (dispatcherFactoryProperty == null || UtilValidate.isEmpty(dispatcherFactoryProperty.value())) { throw new ContainerException("Unable to initialize container " + name + ": dispatcher-factory property is not set"); } ClassLoader loader = Thread.currentThread().getContextClassLoader(); try { - Class<?> c = loader.loadClass(dispatcherFactoryProperty.value); + Class<?> c = loader.loadClass(dispatcherFactoryProperty.value()); dispatcherFactory = (LocalDispatcherFactory) c.getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new ContainerException(e); Modified: ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/mail/JavaMailContainer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/mail/JavaMailContainer.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/mail/JavaMailContainer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/mail/JavaMailContainer.java Fri Oct 18 19:46:32 2019 @@ -107,8 +107,7 @@ public class JavaMailContainer implement ServiceMcaUtil.readConfig(); // load the listeners - List<ContainerConfig.Configuration.Property> configs = cfg.getPropertiesWithValue("store-listener"); - for (ContainerConfig.Configuration.Property prop: configs) { + for (ContainerConfig.Property prop: cfg.getPropertiesWithValue("store-listener")) { Session session = this.makeSession(prop); Store store = this.getStore(session); stores.put(store, session); @@ -138,12 +137,12 @@ public class JavaMailContainer implement } // java-mail methods - protected Session makeSession(ContainerConfig.Configuration.Property client) { + protected Session makeSession(ContainerConfig.Property client) { Properties props = new Properties(); - Map<String, ContainerConfig.Configuration.Property> clientProps = client.properties; + Map<String, ContainerConfig.Property> clientProps = client.properties(); if (clientProps != null) { - for (ContainerConfig.Configuration.Property p: clientProps.values()) { - props.setProperty(p.name.toLowerCase(Locale.getDefault()), p.value); + for (ContainerConfig.Property p: clientProps.values()) { + props.setProperty(p.name().toLowerCase(Locale.getDefault()), p.value()); } } return Session.getInstance(props); Modified: ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/rmi/RmiServiceContainer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/rmi/RmiServiceContainer.java?rev=1868601&r1=1868600&r2=1868601&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/rmi/RmiServiceContainer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/service/src/main/java/org/apache/ofbiz/service/rmi/RmiServiceContainer.java Fri Oct 18 19:46:32 2019 @@ -61,29 +61,29 @@ public class RmiServiceContainer impleme public boolean start() throws ContainerException { // get the container config ContainerConfig.Configuration cfg = ContainerConfig.getConfiguration(containerName); - ContainerConfig.Configuration.Property initialCtxProp = cfg.getProperty("use-initial-context"); - ContainerConfig.Configuration.Property lookupHostProp = cfg.getProperty("bound-host"); - ContainerConfig.Configuration.Property lookupPortProp = cfg.getProperty("bound-port"); - ContainerConfig.Configuration.Property lookupNameProp = cfg.getProperty("bound-name"); - ContainerConfig.Configuration.Property delegatorProp = cfg.getProperty("delegator-name"); - ContainerConfig.Configuration.Property clientProp = cfg.getProperty("client-factory"); - ContainerConfig.Configuration.Property serverProp = cfg.getProperty("server-factory"); + ContainerConfig.Property initialCtxProp = cfg.getProperty("use-initial-context"); + ContainerConfig.Property lookupHostProp = cfg.getProperty("bound-host"); + ContainerConfig.Property lookupPortProp = cfg.getProperty("bound-port"); + ContainerConfig.Property lookupNameProp = cfg.getProperty("bound-name"); + ContainerConfig.Property delegatorProp = cfg.getProperty("delegator-name"); + ContainerConfig.Property clientProp = cfg.getProperty("client-factory"); + ContainerConfig.Property serverProp = cfg.getProperty("server-factory"); // check the required lookup-name property - if (lookupNameProp == null || UtilValidate.isEmpty(lookupNameProp.value)) { + if (lookupNameProp == null || UtilValidate.isEmpty(lookupNameProp.value())) { throw new ContainerException("Invalid lookup-name defined in container configuration"); } else { - this.name = lookupNameProp.value; + this.name = lookupNameProp.value(); } // check the required delegator-name property - if (delegatorProp == null || UtilValidate.isEmpty(delegatorProp.value)) { + if (delegatorProp == null || UtilValidate.isEmpty(delegatorProp.value())) { throw new ContainerException("Invalid delegator-name defined in container configuration"); } - String useCtx = initialCtxProp == null || initialCtxProp.value == null ? "false" : initialCtxProp.value; - String host = lookupHostProp == null || lookupHostProp.value == null ? "localhost" : lookupHostProp.value; - String port = lookupPortProp == null || lookupPortProp.value == null ? "1099" : lookupPortProp.value; + String useCtx = initialCtxProp == null || initialCtxProp.value() == null ? "false" : initialCtxProp.value(); + String host = lookupHostProp == null || lookupHostProp.value() == null ? "localhost" : lookupHostProp.value(); + String port = lookupPortProp == null || lookupPortProp.value() == null ? "1099" : lookupPortProp.value(); if (Start.getInstance().getConfig().portOffset != 0) { Integer portValue = Integer.valueOf(port); portValue += Start.getInstance().getConfig().portOffset; @@ -103,17 +103,17 @@ public class RmiServiceContainer impleme ClassLoader loader = Thread.currentThread().getContextClassLoader(); // load the factories - if (clientProp != null && UtilValidate.isNotEmpty(clientProp.value)) { + if (clientProp != null && UtilValidate.isNotEmpty(clientProp.value())) { try { - Class<?> c = loader.loadClass(clientProp.value); + Class<?> c = loader.loadClass(clientProp.value()); csf = (RMIClientSocketFactory) c.getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new ContainerException(e); } } - if (serverProp != null && UtilValidate.isNotEmpty(serverProp.value)) { + if (serverProp != null && UtilValidate.isNotEmpty(serverProp.value())) { try { - Class<?> c = loader.loadClass(serverProp.value); + Class<?> c = loader.loadClass(serverProp.value()); ssf = (RMIServerSocketFactory) c.getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new ContainerException(e); @@ -130,7 +130,7 @@ public class RmiServiceContainer impleme } // get the delegator for this container - Delegator delegator = DelegatorFactory.getDelegator(delegatorProp.value); + Delegator delegator = DelegatorFactory.getDelegator(delegatorProp.value()); // create the LocalDispatcher LocalDispatcher dispatcher = ServiceContainer.getLocalDispatcher(name, delegator); |
Free forum by Nabble | Edit this page |