|
Modified: ofbiz/branches/20111205EmailHandling/framework/jetty/src/org/ofbiz/jetty/container/JettyContainer.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/jetty/src/org/ofbiz/jetty/container/JettyContainer.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/jetty/src/org/ofbiz/jetty/container/JettyContainer.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/jetty/src/org/ofbiz/jetty/container/JettyContainer.java Mon Mar 26 20:56:02 2012 @@ -18,24 +18,10 @@ *******************************************************************************/ package org.ofbiz.jetty.container; -import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.mortbay.jetty.AbstractConnector; -import org.mortbay.jetty.NCSARequestLog; -import org.mortbay.jetty.Server; -import org.mortbay.jetty.ajp.Ajp13SocketConnector; -import org.mortbay.jetty.bio.SocketConnector; -import org.mortbay.jetty.handler.RequestLogHandler; -import org.mortbay.jetty.nio.SelectChannelConnector; -import org.mortbay.jetty.security.SslSelectChannelConnector; -import org.mortbay.jetty.security.SslSocketConnector; -import org.mortbay.jetty.servlet.HashSessionManager; -import org.mortbay.jetty.servlet.SessionHandler; -import org.mortbay.jetty.webapp.WebAppContext; -import org.mortbay.thread.BoundedThreadPool; import org.ofbiz.base.component.ComponentConfig; import org.ofbiz.base.container.Container; import org.ofbiz.base.container.ContainerConfig; @@ -44,363 +30,322 @@ import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.SSLUtil; import org.ofbiz.base.util.UtilValidate; +import org.eclipse.jetty.ajp.Ajp13SocketConnector; +import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.NCSARequestLog; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.bio.SocketConnector; +import org.eclipse.jetty.server.handler.HandlerCollection; +import org.eclipse.jetty.server.handler.RequestLogHandler; +import org.eclipse.jetty.server.nio.SelectChannelConnector; +import org.eclipse.jetty.server.session.HashSessionManager; +import org.eclipse.jetty.server.session.SessionHandler; +import org.eclipse.jetty.server.ssl.SslConnector; +import org.eclipse.jetty.server.ssl.SslSelectChannelConnector; +import org.eclipse.jetty.server.ssl.SslSocketConnector; +import org.eclipse.jetty.util.ssl.SslContextFactory; +import org.eclipse.jetty.util.thread.QueuedThreadPool; +import org.eclipse.jetty.util.thread.ThreadPool; +import org.eclipse.jetty.webapp.WebAppContext; + /** - * JettyContainer - Container implementation for Jetty 6 - * + * JettyContainer - Container implementation for Jetty */ public class JettyContainer implements Container { public static final String module = JettyContainer.class.getName(); - protected String configFile = null; private Map<String, Server> servers = new HashMap<String, Server>(); /** - * @see org.ofbiz.base.container.Container#init(java.lang.String[],java.lang.String) + * @see org.ofbiz.base.container.Container#init(java.lang.String[], java.lang.String) */ - public void init(String[] args, String configFile) { - this.configFile = configFile; - } - - private void initJetty() throws ContainerException { + public void init(String[] args, String configFile) throws ContainerException { // configure JSSE properties SSLUtil.loadJsseProperties(); - // get the container - ContainerConfig.Container jc = ContainerConfig.getContainer("jetty-container", configFile); + // get the jetty container config + ContainerConfig.Container jettyContainerConfig = ContainerConfig.getContainer("jetty-container", configFile); // create the servers - for (ContainerConfig.Container.Property property : jc.properties.values()) { - servers.put(property.name, createServer(property)); + for (ContainerConfig.Container.Property serverConfig : jettyContainerConfig.getPropertiesWithValue("server")) { + servers.put(serverConfig.name, createServer(serverConfig)); } - // load the applications - Collection<ComponentConfig> componentConfigs = ComponentConfig.getAllComponents(); - if (componentConfigs != null) { + // create the webapp contexts + for (ComponentConfig componentConfig : ComponentConfig.getAllComponents()) { - for (Object componentConfig : componentConfigs) { + for (ComponentConfig.WebappInfo webappInfo : componentConfig.getWebappInfos()) { - ComponentConfig component = (ComponentConfig) componentConfig; + Server server = servers.get(webappInfo.server); + if (server == null) { - for (ComponentConfig.WebappInfo webappInfo : component.getWebappInfos()) { + Debug.logError("Server with name [" + webappInfo.server + "] not found; not mounting [" + webappInfo.name + "]", module); - List<String> virtualHosts = webappInfo.getVirtualHosts(); - Map<String, String> initParameters = webappInfo.getInitParameters(); + } else { - Server server = servers.get(webappInfo.server); + // set the root location (make sure we set the paths correctly) + String location = componentConfig.getRootLocation() + webappInfo.location; + location = location.replace('\\', '/'); + if (location.endsWith("/")) { + location = location.substring(0, location.lastIndexOf("/")); + } - if (server == null) { - Debug.logWarning("Server with name [" + webappInfo.server + "] not found; not mounting [" + webappInfo.name + "]", module); - } else { - - // set the root location (make sure we set the paths correctly) - String location = component.getRootLocation() + webappInfo.location; - location = location.replace('\\', '/'); - if (location.endsWith("/")) { - location = location.substring(0, location.lastIndexOf("/")); - } + String mountPoint = webappInfo.mountPoint; + if (mountPoint.endsWith("/*")) { + mountPoint = mountPoint.substring(0, mountPoint.lastIndexOf("/")); + } - // load the application - String mountPoint = webappInfo.mountPoint; - if (mountPoint.endsWith("/*")) { - mountPoint = mountPoint.substring(0, mountPoint.lastIndexOf("/")); - } + WebAppContext context = new WebAppContext(location, mountPoint); + context.setAttribute("_serverId", webappInfo.server); + context.setLogUrlOnStart(true); + + // set the session manager + HashSessionManager sm = new HashSessionManager(); + context.setSessionHandler(new SessionHandler(sm)); - WebAppContext context = new WebAppContext(location, mountPoint); - context.setAttribute("_serverId", webappInfo.server); - context.setLogUrlOnStart(true); - - // set the session manager - HashSessionManager sm = new HashSessionManager(); - context.setSessionHandler(new SessionHandler(sm)); - - // set the virtual hosts - if (UtilValidate.isNotEmpty(virtualHosts)) { - context.setVirtualHosts(virtualHosts.toArray(new String[virtualHosts.size()])); - } + // set the virtual hosts + List<String> virtualHosts = webappInfo.getVirtualHosts(); + if (UtilValidate.isNotEmpty(virtualHosts)) { + context.setVirtualHosts(virtualHosts.toArray(new String[virtualHosts.size()])); + } - // set the init parameters - if (UtilValidate.isNotEmpty(initParameters)) { - context.setInitParams(initParameters); + // set the init parameters + Map<String, String> initParameters = webappInfo.getInitParameters(); + if (UtilValidate.isNotEmpty(initParameters)) { + for (Map.Entry<String, String> e : initParameters.entrySet()) { + context.setInitParameter(e.getKey(), e.getValue()); } - - server.addHandler(context); } + + ((HandlerCollection) server.getHandler()).addHandler(context); } } } } - private Server createServer(ContainerConfig.Container.Property serverConfig) throws ContainerException { + private Server createServer(ContainerConfig.Container.Property serverConfig) { Server server = new Server(); + server.setHandler(new HandlerCollection()); - // configure the connectors / loggers - for (ContainerConfig.Container.Property props : serverConfig.properties.values()) { - - if ("send-server-version".equals(props.name)) { - if ("false".equalsIgnoreCase(props.value)) { - server.setSendServerVersion(false); - } - } else if ("connector".equals(props.value)) { - - if ("http".equals(props.getProperty("type").value)) { - - AbstractConnector connector = new SocketConnector(); - setConnectorOptions(connector, props); - server.addConnector(connector); - - } else if ("https".equals(props.getProperty("type").value)) { - - SslSocketConnector connector = new SslSocketConnector(); - setConnectorOptions(connector, props); - - if (props.getProperty("keystore") != null) { - connector.setKeystore(props.getProperty("keystore").value); - } - if (props.getProperty("password") != null) { - connector.setPassword(props.getProperty("password").value); - } - if (props.getProperty("key-password") != null) { - connector.setKeyPassword(props.getProperty("key-password").value); - } - if (props.getProperty("client-auth") != null) { - if ("need".equals(props.getProperty("client-auth").value)) { - connector.setNeedClientAuth(true); - } else if ("want".equals(props.getProperty("client-auth").value)) { - connector.setWantClientAuth(true); - } - } - - server.addConnector(connector); - - } else if ("nio-http".equals(props.getProperty("type").value)) { - - AbstractConnector connector = new SelectChannelConnector(); - setConnectorOptions(connector, props); - server.addConnector(connector); - - } else if ("nio-https".equals(props.getProperty("type").value)) { - - SslSelectChannelConnector connector = new SslSelectChannelConnector(); - setConnectorOptions(connector, props); - - if (props.getProperty("keystore") != null) { - connector.setKeystore(props.getProperty("keystore").value); - } - if (props.getProperty("password") != null) { - connector.setPassword(props.getProperty("password").value); - } - if (props.getProperty("key-password") != null) { - connector.setKeyPassword(props.getProperty("key-password").value); - } - if (props.getProperty("need-client-auth") != null) { - boolean needClientAuth = "true".equalsIgnoreCase(props.getProperty("need-client-auth").value); - connector.setNeedClientAuth(needClientAuth); - } - - server.addConnector(connector); - - } else if ("ajp13".equals(props.getProperty("type").value)) { + // send server version? + if (UtilValidate.isNotEmpty(serverConfig.getProperty("send-server-version"))) { + String sendServerVersionPropertyValue = serverConfig.getProperty("send-server-version").value; + try { + server.setSendServerVersion(Boolean.parseBoolean(sendServerVersionPropertyValue)); + } catch (NumberFormatException e) { + Debug.logError(e, "invalid value for send-server-version: " + sendServerVersionPropertyValue, module); + } + } - AbstractConnector connector = new Ajp13SocketConnector(); - setConnectorOptions(connector, props); - server.addConnector(connector); - } + // thread pool + server.setThreadPool(createThreadPool(serverConfig)); - } else if ("request-log".equals(props.value)) { + // connectors + for (ContainerConfig.Container.Property connectorConfig : serverConfig.getPropertiesWithValue("connector")) { - RequestLogHandler requestLogHandler = new RequestLogHandler(); + Connector connector = null; - NCSARequestLog requestLog = new NCSARequestLog(); + String connectorType = connectorConfig.getProperty("type").value; - if (props.getProperty("filename") != null) { - requestLog.setFilename(props.getProperty("filename").value); - } + if ("http".equals(connectorType)) { + connector = new SocketConnector(); + } else if ("https".equals(connectorType)) { + connector = new SslSocketConnector(); + } else if ("nio-http".equals(connectorType)) { + connector = new SelectChannelConnector(); + } else if ("nio-https".equals(connectorType)) { + connector = new SslSelectChannelConnector(); + } else if ("ajp13".equals(connectorType)) { + connector = new Ajp13SocketConnector(); + } - if (props.getProperty("append") != null) { - requestLog.setAppend("true".equalsIgnoreCase(props.getProperty("append").value)); - } + if (connector != null) { + setConnectorOptions(connector, connectorConfig); + server.addConnector(connector); + } + } - if (props.getProperty("extended") != null) { - requestLog.setExtended("true".equalsIgnoreCase(props.getProperty("extended").value)); - } + // request logs + for (ContainerConfig.Container.Property props : serverConfig.getPropertiesWithValue("request-log")) { - if (props.getProperty("timezone") != null) { - requestLog.setLogTimeZone(props.getProperty("timezone").value); - } + NCSARequestLog requestLog = new NCSARequestLog(); - if (props.getProperty("date-format") != null) { - requestLog.setLogDateFormat(props.getProperty("date-format").value); + if (UtilValidate.isNotEmpty(props.getProperty("filename"))) { + requestLog.setFilename(props.getProperty("filename").value); + } + if (UtilValidate.isNotEmpty(props.getProperty("append"))) { + requestLog.setAppend("true".equalsIgnoreCase(props.getProperty("append").value)); + } + if (UtilValidate.isNotEmpty(props.getProperty("extended"))) { + requestLog.setExtended("true".equalsIgnoreCase(props.getProperty("extended").value)); + } + if (UtilValidate.isNotEmpty(props.getProperty("log-dispatch"))) { + requestLog.setLogDispatch("true".equalsIgnoreCase(props.getProperty("log-dispatch").value)); + } + if (UtilValidate.isNotEmpty(props.getProperty("log-latency"))) { + requestLog.setLogLatency("true".equalsIgnoreCase(props.getProperty("log-latency").value)); + } + if (UtilValidate.isNotEmpty(props.getProperty("log-server"))) { + requestLog.setLogServer("true".equalsIgnoreCase(props.getProperty("log-server").value)); + } + if (UtilValidate.isNotEmpty(props.getProperty("prefer-proxied-for-address"))) { + requestLog.setPreferProxiedForAddress("true".equalsIgnoreCase(props.getProperty("prefer-proxied-for-address").value)); + } + if (UtilValidate.isNotEmpty(props.getProperty("timezone"))) { + requestLog.setLogTimeZone(props.getProperty("timezone").value); + } + if (UtilValidate.isNotEmpty(props.getProperty("date-format"))) { + requestLog.setLogDateFormat(props.getProperty("date-format").value); + } + if (UtilValidate.isNotEmpty(props.getProperty("retain-days"))) { + String retainDaysPropertyValue = props.getProperty("retain-days").value; + try { + requestLog.setRetainDays(Integer.parseInt(retainDaysPropertyValue)); + } catch (NumberFormatException e) { + Debug.logError(e, "invalid value for retain-days: " + retainDaysPropertyValue, module); } + } - if (props.getProperty("retain-days") != null) { - int days = 90; - try { - days = Integer.parseInt(props.getProperty("retain-days").value); - } catch (NumberFormatException e) { - days = 90; - } - requestLog.setRetainDays(days); - } + RequestLogHandler requestLogHandler = new RequestLogHandler(); + requestLogHandler.setRequestLog(requestLog); - requestLogHandler.setRequestLog(requestLog); - server.addHandler(requestLogHandler); - } + ((HandlerCollection) server.getHandler()).addHandler(requestLogHandler); } return server; } - private void setConnectorOptions(AbstractConnector connector, ContainerConfig.Container.Property props) throws ContainerException { + private ThreadPool createThreadPool(ContainerConfig.Container.Property serverConfig) { - String systemHost = null; - if ("default".equals(props.getProperty("type").value)) { - systemHost = System.getProperty(props.name + ".host"); - } - if (props.getProperty("host") != null && systemHost == null) { - connector.setHost(props.getProperty("host").value); - } else { - String host = "0.0.0.0"; - if (systemHost != null) { - host = systemHost; - } - connector.setHost(host); - } + QueuedThreadPool threadPool = new QueuedThreadPool(); - String systemPort = null; - if ("default".equals(props.getProperty("type").value)) { - systemPort = System.getProperty(props.name + ".port"); - } - if (props.getProperty("port") != null && systemPort == null) { - int value = 8080; + if (UtilValidate.isNotEmpty(serverConfig.getProperty("min-threads"))) { + String minThreadsPropertyValue = serverConfig.getProperty("min-threads").value; try { - value = Integer.parseInt(props.getProperty("port").value); + threadPool.setMinThreads(Integer.parseInt(minThreadsPropertyValue)); } catch (NumberFormatException e) { - value = 8080; - } - if (value == 0) value = 8080; - - connector.setPort(value); - } else { - int port = 8080; - if (systemPort != null) { - try { - port = Integer.parseInt(systemPort); - } catch (NumberFormatException e) { - port = 8080; - } + Debug.logError(e, "invalid value for min-threads: " + minThreadsPropertyValue, module); } - connector.setPort(port); } - - if (props.getProperty("buffer-size") != null) { - int value = 0; + if (UtilValidate.isNotEmpty(serverConfig.getProperty("max-threads"))) { + String maxThreadsPropertyValue = serverConfig.getProperty("max-threads").value; try { - value = Integer.parseInt(props.getProperty("buffer-size").value); + threadPool.setMaxThreads(Integer.parseInt(maxThreadsPropertyValue)); } catch (NumberFormatException e) { - value = 0; - } - if (value > 0) { - connector.setResponseBufferSize(value); + Debug.logError(e, "invalid value for max-threads: " + maxThreadsPropertyValue, module); } } - - if (props.getProperty("linger-time") != null) { - int value = 0; + if (UtilValidate.isNotEmpty(serverConfig.getProperty("max-idle-time-ms"))) { + String maxIdleTimeMsPropertyValue = serverConfig.getProperty("max-idle-time-ms").value; try { - value = Integer.parseInt(props.getProperty("linger-time").value); + threadPool.setMaxIdleTimeMs(Integer.parseInt(maxIdleTimeMsPropertyValue)); } catch (NumberFormatException e) { - value = 0; - } - if (value > 0) { - connector.setSoLingerTime(value); + Debug.logError(e, "invalid value for max-idle-time-ms: " + maxIdleTimeMsPropertyValue, module); } } - - if (props.getProperty("low-resource-max-idle-time") != null) { - int value = 0; + if (UtilValidate.isNotEmpty(serverConfig.getProperty("max-stop-time-ms"))) { + String maxStopTimeMsPropertyValue = serverConfig.getProperty("max-stop-time-ms").value; try { - value = Integer.parseInt(props.getProperty("low-resource-max-idle-time").value); + threadPool.setMaxStopTimeMs(Integer.parseInt(maxStopTimeMsPropertyValue)); } catch (NumberFormatException e) { - value = 0; - } - if (value > 0) { - connector.setLowResourceMaxIdleTime(value); + Debug.logError(e, "invalid value for max-stop-time-ms: " + maxStopTimeMsPropertyValue, module); } } + return threadPool; + } - BoundedThreadPool threadPool = new BoundedThreadPool(); + private void setConnectorOptions(Connector connector, ContainerConfig.Container.Property connectorConfig) { - if (props.getProperty("min-threads") != null) { - int value = 0; + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("host"))) { + connector.setHost(connectorConfig.getProperty("host").value); + } + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("port"))) { + String portPropertyValue = connectorConfig.getProperty("port").value; try { - value = Integer.parseInt(props.getProperty("min-threads").value); + connector.setPort(Integer.parseInt(portPropertyValue)); } catch (NumberFormatException e) { - value = 0; - } - if (value > 0) { - threadPool.setMinThreads(value); + Debug.logError(e, "invalid value for port: " + portPropertyValue, module); } } - - if (props.getProperty("max-threads") != null) { - int value = 0; + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("request-buffer-size"))) { + String requestBufferSizePropertyValue = connectorConfig.getProperty("request-buffer-size").value; try { - value = Integer.parseInt(props.getProperty("max-threads").value); + connector.setRequestBufferSize(Integer.parseInt(requestBufferSizePropertyValue)); } catch (NumberFormatException e) { - value = 0; - } - if (value > 0) { - threadPool.setMaxThreads(value); + Debug.logError(e, "invalid value for request-buffer-size: " + requestBufferSizePropertyValue, module); } } - - if (props.getProperty("max-idle-time") != null) { - int value = 0; + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("request-header-size"))) { + String requestHeaderSizePropertyValue = connectorConfig.getProperty("request-header-size").value; try { - value = Integer.parseInt(props.getProperty("max-idle-time").value); + connector.setRequestHeaderSize(Integer.parseInt(requestHeaderSizePropertyValue)); } catch (NumberFormatException e) { - value = 0; + Debug.logError(e, "invalid value for request-header-size: " + requestHeaderSizePropertyValue, module); } - if (value > 0) { - threadPool.setMaxIdleTimeMs(value); + } + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("response-buffer-size"))) { + String responseBufferSizePropertyValue = connectorConfig.getProperty("response-buffer-size").value; + try { + connector.setResponseBufferSize(Integer.parseInt(responseBufferSizePropertyValue)); + } catch (NumberFormatException e) { + Debug.logError(e, "invalid value for response-buffer-size: " + responseBufferSizePropertyValue, module); } } - - if (props.getProperty("low-threads") != null) { - int value = 0; + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("response-header-size"))) { + String responseHeaderSizePropertyValue = connectorConfig.getProperty("response-header-size").value; try { - value = Integer.parseInt(props.getProperty("low-threads").value); + connector.setResponseHeaderSize(Integer.parseInt(responseHeaderSizePropertyValue)); } catch (NumberFormatException e) { - value = 0; + Debug.logError(e, "invalid value for response-header-size: " + responseHeaderSizePropertyValue, module); } - if (value > 0) { - threadPool.setLowThreads(value); + } + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("low-resource-max-idle-time"))) { + String lowResourceMaxIdleTimePropertyValue = connectorConfig.getProperty("low-resource-max-idle-time").value; + try { + connector.setLowResourceMaxIdleTime(Integer.parseInt(lowResourceMaxIdleTimePropertyValue)); + } catch (NumberFormatException e) { + Debug.logError(e, "invalid value for low-resource-max-idle-time: " + lowResourceMaxIdleTimePropertyValue, module); } } - connector.setThreadPool(threadPool); + // SSL options + if (connector instanceof SslConnector) { + + SslContextFactory cf = ((SslConnector) connector).getSslContextFactory(); + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("keystore"))) { + cf.setKeyStorePath(connectorConfig.getProperty("keystore").value); + } + if (connectorConfig.getProperty("password") != null) { + cf.setKeyStorePassword(connectorConfig.getProperty("password").value); + } + if (connectorConfig.getProperty("key-password") != null) { + cf.setKeyManagerPassword(connectorConfig.getProperty("key-password").value); + } + if (UtilValidate.isNotEmpty(connectorConfig.getProperty("client-auth"))) { + if ("need".equals(connectorConfig.getProperty("client-auth").value)) { + cf.setNeedClientAuth(true); + } else if ("want".equals(connectorConfig.getProperty("client-auth").value)) { + cf.setWantClientAuth(true); + } + } + } } /** * @see org.ofbiz.base.container.Container#start() */ public boolean start() throws ContainerException { - // start the server(s) - this.initJetty(); - if (servers != null) { - for (Server server : servers.values()) { - try { - server.start(); - } catch (Exception e) { - Debug.logError(e, "Jetty Server Exception", module); - throw new ContainerException(e); - } + for (Server server : servers.values()) { + try { + server.start(); + } catch (Exception e) { + throw new ContainerException(e); } } return true; @@ -410,14 +355,13 @@ public class JettyContainer implements C * @see org.ofbiz.base.container.Container#stop() */ public void stop() throws ContainerException { - if (servers != null) { - for (Server server : servers.values()) { - try { - server.stop(); - } catch (Exception e) { - Debug.logWarning(e, module); - } + for (Server server : servers.values()) { + try { + server.stop(); + } catch (Exception e) { + throw new ContainerException(e); } } } + } Modified: ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java Mon Mar 26 20:56:02 2012 @@ -83,8 +83,6 @@ import org.ofbiz.service.ModelService; import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.webslinger.invoker.Wrap; - /** * SimpleMethod Mini Language Core Object */ @@ -895,15 +893,6 @@ public class SimpleMethod { Debug.logWarning("Operation element \"" + nodeName + "\" no recognized", module); } if (methodOp == null) continue; - if (UtilProperties.propertyValueEquals("webslinger-invoker.properties", "wrap-calls", "true")) { - Wrap<MethodOperation> wrap = new Wrap<MethodOperation>().fileName(simpleMethod.getLocationAndName()).wrappedClass(methodOp.getClass()); - wrap.wrap(methodOperationExecMethod); - Object startLine = curOperElem.getUserData("startLine"); - if (startLine != null) { - wrap.lineNumber(((Integer) startLine).intValue()); - } - methodOp = wrap.newInstance(new Class<?>[] {Element.class, SimpleMethod.class}, new Object[] {curOperElem, simpleMethod}); - } methodOperations.add(methodOp); DeprecatedOperation depOp = methodOp.getClass().getAnnotation(DeprecatedOperation.class); if (depOp != null) Debug.logInfo("The " + nodeName + " operation has been deprecated in favor of the " + depOp.value() + " operation; found use of this in [" + simpleMethod.getShortDescription() + "]: " + methodOp.rawString(), module); Modified: ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallScript.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallScript.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallScript.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallScript.java Mon Mar 26 20:56:02 2012 @@ -23,11 +23,7 @@ import java.util.Map; import javolution.util.FastList; -import org.codehaus.groovy.runtime.InvokerHelper; -import org.ofbiz.base.util.BshUtil; -import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.GroovyUtil; -import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.base.util.*; import org.ofbiz.minilang.MiniLangException; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.ContextAccessor; @@ -47,8 +43,7 @@ public class CallScript extends MethodOp } public static final String module = CallScript.class.getName(); - protected static final Object[] EMPTY_ARGS = {}; - + private ContextAccessor<List<Object>> errorListAcsr; private String location; private String method; @@ -73,31 +68,14 @@ public class CallScript extends MethodOp } Map<String, Object> context = methodContext.getEnvMap(); - if (location.endsWith(".bsh")) { - try { - BshUtil.runBshAtLocation(location, context); - } catch (GeneralException e) { - messages.add("Error running BSH script at location [" + location + "]: " + e.getMessage()); - } - } else if (location.endsWith(".groovy")) { - try { - groovy.lang.Script script = InvokerHelper.createScript(GroovyUtil.getScriptClassFromLocation(location), GroovyUtil.getBinding(context)); - if (UtilValidate.isEmpty(method)) { - script.run(); - } else { - script.invokeMethod(method, EMPTY_ARGS); - } - } catch (GeneralException e) { - messages.add("Error running Groovy script at location [" + location + "]: " + e.getMessage()); - } - } else if (location.endsWith(".xml")) { + if (location.endsWith(".xml")) { try { SimpleMethod.runSimpleMethod(location, method, methodContext); } catch (MiniLangException e) { messages.add("Error running simple method at location [" + location + "]: " + e.getMessage()); } } else { - messages.add("Unsupported script type [" + location + "]"); + ScriptUtil.executeScript(this.location, this.method, context); } // update the method environment Modified: ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/CallService.java Mon Mar 26 20:56:02 2012 @@ -26,6 +26,7 @@ import javolution.util.FastList; import javolution.util.FastMap; import org.ofbiz.base.util.Debug; +import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; @@ -321,11 +322,28 @@ public class CallService extends MethodO String messagePrefixStr = messagePrefix.getMessage(methodContext.getLoader(), methodContext); String messageSuffixStr = messageSuffix.getMessage(methodContext.getLoader(), methodContext); - String errorMessage = ServiceUtil.makeErrorMessage(result, messagePrefixStr, messageSuffixStr, errorPrefixStr, errorSuffixStr); - if (UtilValidate.isNotEmpty(errorMessage) && breakOnError) { - errorMessage += UtilProperties.getMessage(resource, "simpleMethod.error_show_service_name", UtilMisc.toMap("serviceName", serviceName, "methodName", simpleMethod.getMethodName()), locale); + String errorMessage = null; + List<String> errorMessageList = null; + // See if there is a single message + if (result.containsKey(ModelService.ERROR_MESSAGE)) { + errorMessage = ServiceUtil.makeErrorMessage(result, messagePrefixStr, messageSuffixStr, errorPrefixStr, errorSuffixStr); + } else if (result.containsKey(ModelService.ERROR_MESSAGE_LIST)) { + errorMessageList = UtilGenerics.checkList(result.get(ModelService.ERROR_MESSAGE_LIST)); + } + + if ((UtilValidate.isNotEmpty(errorMessage) || UtilValidate.isNotEmpty(errorMessageList)) && breakOnError) { if (methodContext.getMethodType() == MethodContext.EVENT) { - methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errorMessage); + if (UtilValidate.isNotEmpty(errorMessage)){ + if (Debug.verboseOn()){ + errorMessage += UtilProperties.getMessage(resource, "simpleMethod.error_show_service_name", UtilMisc.toMap("serviceName", serviceName, "methodName", simpleMethod.getMethodName()), locale); + } + methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errorMessage); + } else { + if (Debug.verboseOn()){ + errorMessageList.add(UtilProperties.getMessage(resource, "simpleMethod.error_show_service_name", UtilMisc.toMap("serviceName", serviceName, "methodName", simpleMethod.getMethodName()), locale)); + } + methodContext.putEnv(simpleMethod.getEventErrorMessageListName(), errorMessageList); + } } else if (methodContext.getMethodType() == MethodContext.SERVICE) { ServiceUtil.addErrors(UtilMisc.<String, String>getListFromMap(methodContext.getEnvMap(), this.simpleMethod.getServiceErrorMessageListName()), UtilMisc.<String, String, Object>getMapFromMap(methodContext.getEnvMap(), this.simpleMethod.getServiceErrorMessageMapName()), result); @@ -344,7 +362,7 @@ public class CallService extends MethodO } String defaultMessageStr = defaultMessage.getMessage(methodContext.getLoader(), methodContext); - if (UtilValidate.isEmpty(errorMessage) && UtilValidate.isEmpty(successMessage) && UtilValidate.isNotEmpty(defaultMessageStr)) { + if (UtilValidate.isEmpty(errorMessage) && UtilValidate.isEmpty(errorMessageList) && UtilValidate.isEmpty(successMessage) && UtilValidate.isNotEmpty(defaultMessageStr)) { if (methodContext.getMethodType() == MethodContext.EVENT) { methodContext.putEnv(simpleMethod.getEventEventMessageName(), defaultMessageStr); } else if (methodContext.getMethodType() == MethodContext.SERVICE) { Modified: ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java Mon Mar 26 20:56:02 2012 @@ -48,7 +48,7 @@ public class SetServiceFields extends Me } } - public static final String module = CallService.class.getName(); + public static final String module = SetServiceFields.class.getName(); String serviceName; ContextAccessor<Map<String, ? extends Object>> mapAcsr; Modified: ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java Mon Mar 26 20:56:02 2012 @@ -21,12 +21,7 @@ package org.ofbiz.minilang.method.envops import javolution.util.FastList; import javolution.util.FastMap; -import org.codehaus.groovy.runtime.InvokerHelper; -import org.ofbiz.base.util.Debug; -import org.ofbiz.base.util.GeneralException; -import org.ofbiz.base.util.GroovyUtil; -import org.ofbiz.base.util.ObjectType; -import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.base.util.*; import org.ofbiz.base.util.string.FlexibleStringExpander; import org.ofbiz.minilang.SimpleMethod; import org.ofbiz.minilang.method.ContextAccessor; @@ -56,14 +51,14 @@ public class SetOperation extends Method protected String type; protected boolean setIfNull; // default to false protected boolean setIfEmpty; // default to true - protected Class<?> parsedGroovyScript = null; + protected Class<?> parsedScript = null; public SetOperation(Element element, SimpleMethod simpleMethod) { super(element, simpleMethod); this.field = new ContextAccessor<Object>(element.getAttribute("field")); String fromFieldStr = element.getAttribute("from-field"); if (fromFieldStr != null && fromFieldStr.startsWith("groovy:")) { - this.parsedGroovyScript = GroovyUtil.parseClass(fromFieldStr.replace("groovy:", "")); + this.parsedScript = ScriptUtil.parseScript("groovy", fromFieldStr.replace("groovy:", "")); } this.fromField = new ContextAccessor<Object>(fromFieldStr); this.valueExdr = FlexibleStringExpander.getInstance(element.getAttribute("value")); @@ -82,8 +77,12 @@ public class SetOperation extends Method @Override public boolean exec(MethodContext methodContext) { Object newValue = null; - if (this.parsedGroovyScript != null) { - newValue = InvokerHelper.createScript(this.parsedGroovyScript, GroovyUtil.getBinding(methodContext.getEnvMap())).run(); + if (this.parsedScript != null) { + try { + newValue = ScriptUtil.evaluate("groovy", null, this.parsedScript, methodContext.getEnvMap()); + } catch (Exception exc) { + Debug.logWarning(exc, "Error evaluating scriptlet [" + this + "]; error was: " + exc, module); + } } else if (!this.fromField.isEmpty()) { newValue = this.fromField.get(methodContext); if (Debug.verboseOn()) Debug.logVerbose("In screen getting value for field from [" + this.fromField.toString() + "]: " + newValue, module); Modified: ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/otherops/PropertyToField.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/otherops/PropertyToField.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/otherops/PropertyToField.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/minilang/src/org/ofbiz/minilang/method/otherops/PropertyToField.java Mon Mar 26 20:56:02 2012 @@ -24,6 +24,7 @@ import java.util.*; import org.w3c.dom.*; import javolution.util.FastMap; import org.ofbiz.base.util.*; +import org.ofbiz.entity.util.EntityUtilProperties; import org.ofbiz.minilang.*; import org.ofbiz.minilang.method.*; @@ -71,9 +72,9 @@ public class PropertyToField extends Met String value = null; if (noLocale) { - value = UtilProperties.getPropertyValue(resource, property); + value = EntityUtilProperties.getPropertyValue(resource, property, methodContext.getDelegator()); } else { - value = UtilProperties.getMessage(resource, property, methodContext.getLocale()); + value = EntityUtilProperties.getMessage(resource, property, methodContext.getLocale(), methodContext.getDelegator()); } if (UtilValidate.isEmpty(value)) { value = defaultVal; Modified: ofbiz/branches/20111205EmailHandling/framework/minilang/testdef/MinilangTests.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/minilang/testdef/MinilangTests.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/minilang/testdef/MinilangTests.xml (original) +++ ofbiz/branches/20111205EmailHandling/framework/minilang/testdef/MinilangTests.xml Mon Mar 26 20:56:02 2012 @@ -1,3 +1,23 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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. + --> + <test-suite suite-name="MinilangTests" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd"> Modified: ofbiz/branches/20111205EmailHandling/framework/resources/templates/Tests.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/resources/templates/Tests.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/resources/templates/Tests.xml (original) +++ ofbiz/branches/20111205EmailHandling/framework/resources/templates/Tests.xml Mon Mar 26 20:56:02 2012 @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> <test-suite suite-name="@component-resource-name@tests" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd"> Modified: ofbiz/branches/20111205EmailHandling/framework/resources/templates/build.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/resources/templates/build.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/resources/templates/build.xml (original) +++ ofbiz/branches/20111205EmailHandling/framework/resources/templates/build.xml Mon Mar 26 20:56:02 2012 @@ -94,10 +94,10 @@ </or> </condition> </fail> - <patch strip="0" patchfile="patches/root.patch" dir="${ofbiz.home.dir}"/> - <patch strip="0" patchfile="patches/framework.patch" dir="${ofbiz.home.dir}"/> - <patch strip="0" patchfile="patches/applications.patch" dir="${ofbiz.home.dir}"/> - <patch strip="0" patchfile="patches/specialpurpose.patch" dir="${ofbiz.home.dir}"/> + <patch strip="0" patchfile="patches/root.patch" dir="${ofbiz.home.dir}" failonerror="true"/> + <patch strip="0" patchfile="patches/framework.patch" dir="${ofbiz.home.dir}" failonerror="true"/> + <patch strip="0" patchfile="patches/applications.patch" dir="${ofbiz.home.dir}" failonerror="true"/> + <patch strip="0" patchfile="patches/specialpurpose.patch" dir="${ofbiz.home.dir}" failonerror="true"/> <delete> <fileset dir="${ofbiz.home.dir}" includes="**/*.rej"/> </delete> Modified: ofbiz/branches/20111205EmailHandling/framework/resources/templates/web.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/resources/templates/web.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/resources/templates/web.xml (original) +++ ofbiz/branches/20111205EmailHandling/framework/resources/templates/web.xml Mon Mar 26 20:56:02 2012 @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Open For Business - @component-resource-name@ Component</display-name> <description>@component-resource-name@ Component of the Open For Business Project</description> Propchange: ofbiz/branches/20111205EmailHandling/framework/security/data/PasswordSecurityData.xml ------------------------------------------------------------------------------ Merged /ofbiz/trunk/framework/security/data/PasswordSecurityData.xml:r1210494-1305499 Modified: ofbiz/branches/20111205EmailHandling/framework/security/src/org/ofbiz/security/OFBizSecurity.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/security/src/org/ofbiz/security/OFBizSecurity.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/security/src/org/ofbiz/security/OFBizSecurity.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/security/src/org/ofbiz/security/OFBizSecurity.java Mon Mar 26 20:56:02 2012 @@ -50,9 +50,9 @@ public class OFBizSecurity implements Se protected Delegator delegator = null; protected static final Map<String, Map<String, String>> simpleRoleEntity = UtilMisc.toMap( - "ORDERMGR", UtilMisc.toMap("name", "OrderRole", "pkey", "orderId"), - "FACILITY", UtilMisc.toMap("name", "FacilityParty", "pkey", "facilityId"), - "MARKETING", UtilMisc.toMap("name", "MarketingCampaignRole", "pkey", "marketingCampaignId")); + "ORDERMGR", UtilMisc.<String, String>toMap("name", "OrderRole", "pkey", "orderId"), + "FACILITY", UtilMisc.<String, String>toMap("name", "FacilityParty", "pkey", "facilityId"), + "MARKETING", UtilMisc.<String, String>toMap("name", "MarketingCampaignRole", "pkey", "marketingCampaignId")); protected OFBizSecurity() {} Modified: ofbiz/branches/20111205EmailHandling/framework/service/config/service.properties URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/service/config/service.properties?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/service/config/service.properties (original) +++ ofbiz/branches/20111205EmailHandling/framework/service/config/service.properties Mon Mar 26 20:56:02 2012 @@ -17,8 +17,6 @@ # under the License. ############################################################################### -# If set to true then service definitions are wrapped with their filename and line number, for easier debugging; if enabled, JVM PermGen memory settings may need to be increased -servicedispatcher.servicedebugmode=true # flag to automatically export all services: same of setting export="true" for all service definitions remotedispatcher.exportall=false # complete answer from SOAP WSDL or only brief message "Problem processing the service" for security reason Modified: ofbiz/branches/20111205EmailHandling/framework/service/config/serviceengine.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/service/config/serviceengine.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/service/config/serviceengine.xml (original) +++ ofbiz/branches/20111205EmailHandling/framework/service/config/serviceengine.xml Mon Mar 26 20:56:02 2012 @@ -40,29 +40,34 @@ under the License. </thread-pool> <!-- Service Engine Configuration --> - <engine name="bsh" class="org.ofbiz.service.engine.BeanShellEngine"/> <engine name="entity-auto" class="org.ofbiz.service.engine.EntityAutoEngine"/> - <engine name="groovy" class="org.ofbiz.service.engine.GroovyEngine"/> <engine name="group" class="org.ofbiz.service.group.ServiceGroupEngine"/> - <engine name="http" class="org.ofbiz.service.engine.HttpEngine"/> <engine name="interface" class="org.ofbiz.service.engine.InterfaceEngine"/> - <engine name="jacl" class="org.ofbiz.service.engine.BSFEngine"/> <engine name="java" class="org.ofbiz.service.engine.StandardJavaEngine"/> - <engine name="javascript" class="org.ofbiz.service.engine.BSFEngine"/> - <engine name="jms" class="org.ofbiz.service.jms.JmsServiceEngine"/> + <engine name="simple" class="org.ofbiz.minilang.SimpleServiceEngine"/> + <engine name="script" class="org.ofbiz.service.engine.ScriptEngine"/> + <!-- Engines that can be replaced by the generic script engine --> + <engine name="bsh" class="org.ofbiz.service.engine.BeanShellEngine"/> + <engine name="groovy" class="org.ofbiz.service.engine.GroovyEngine"> + <parameter name="scriptBaseClass" value="org.ofbiz.service.engine.GroovyBaseScript"/> + </engine> + <engine name="jacl" class="org.ofbiz.service.engine.BSFEngine"/> + <engine name="javascript" class="org.ofbiz.service.engine.ScriptEngine"/> <engine name="jpython" class="org.ofbiz.service.engine.BSFEngine"/> + <!-- --> <engine name="route" class="org.ofbiz.service.engine.RouteEngine"/> + <engine name="http" class="org.ofbiz.service.engine.HttpEngine"/> + <engine name="jms" class="org.ofbiz.service.jms.JmsServiceEngine"/> <engine name="rmi" class="org.ofbiz.service.rmi.RmiServiceEngine"/> - <engine name="simple" class="org.ofbiz.minilang.SimpleServiceEngine"/> <engine name="soap" class="org.ofbiz.service.engine.SOAPClientEngine"/> <engine name="ofbiz-workflow" class="org.ofbiz.workflow.WorkflowEngine"/> <engine name="workflow" class="org.ofbiz.shark.service.SharkServiceEngine"/> - <engine name="webslinger-server" class="org.ofbiz.webslinger.WebslingerServerEngine"/> <engine name="xml-rpc-local" class="org.ofbiz.service.engine.XMLRPCClientEngine"> <parameter name="url" value="http://localhost:8080/webtools/control/xmlrpc"/> <parameter name="login" value="admin"/> <parameter name="password" value="ofbiz"/> </engine> + <service-location name="main-rmi" location="rmi://localhost:1099/RMIDispatcher"/> <service-location name="main-http" location="http://localhost:8080/webtools/control/httpService"/> Modified: ofbiz/branches/20111205EmailHandling/framework/service/data/ServiceDemoData.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/service/data/ServiceDemoData.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/service/data/ServiceDemoData.xml (original) +++ ofbiz/branches/20111205EmailHandling/framework/service/data/ServiceDemoData.xml Mon Mar 26 20:56:02 2012 @@ -21,155 +21,6 @@ under the License. <entity-engine-xml> <!-- Temporal Expression demo data --> - <!-- Pre-define all 60 minutes --> - <TemporalExpression tempExprId="MINUTE_00" tempExprTypeId="MINUTE_RANGE" description="Minute 0" integer1="0" integer2="0"/> - <TemporalExpression tempExprId="MINUTE_01" tempExprTypeId="MINUTE_RANGE" description="Minute 1" integer1="1" integer2="1"/> - <TemporalExpression tempExprId="MINUTE_02" tempExprTypeId="MINUTE_RANGE" description="Minute 2" integer1="2" integer2="2"/> - <TemporalExpression tempExprId="MINUTE_03" tempExprTypeId="MINUTE_RANGE" description="Minute 3" integer1="3" integer2="3"/> - <TemporalExpression tempExprId="MINUTE_04" tempExprTypeId="MINUTE_RANGE" description="Minute 4" integer1="4" integer2="4"/> - <TemporalExpression tempExprId="MINUTE_05" tempExprTypeId="MINUTE_RANGE" description="Minute 5" integer1="5" integer2="5"/> - <TemporalExpression tempExprId="MINUTE_06" tempExprTypeId="MINUTE_RANGE" description="Minute 6" integer1="6" integer2="6"/> - <TemporalExpression tempExprId="MINUTE_07" tempExprTypeId="MINUTE_RANGE" description="Minute 7" integer1="7" integer2="7"/> - <TemporalExpression tempExprId="MINUTE_08" tempExprTypeId="MINUTE_RANGE" description="Minute 8" integer1="8" integer2="8"/> - <TemporalExpression tempExprId="MINUTE_09" tempExprTypeId="MINUTE_RANGE" description="Minute 9" integer1="9" integer2="9"/> - <TemporalExpression tempExprId="MINUTE_10" tempExprTypeId="MINUTE_RANGE" description="Minute 10" integer1="10" integer2="10"/> - <TemporalExpression tempExprId="MINUTE_11" tempExprTypeId="MINUTE_RANGE" description="Minute 11" integer1="11" integer2="11"/> - <TemporalExpression tempExprId="MINUTE_12" tempExprTypeId="MINUTE_RANGE" description="Minute 12" integer1="12" integer2="12"/> - <TemporalExpression tempExprId="MINUTE_13" tempExprTypeId="MINUTE_RANGE" description="Minute 13" integer1="13" integer2="13"/> - <TemporalExpression tempExprId="MINUTE_14" tempExprTypeId="MINUTE_RANGE" description="Minute 14" integer1="14" integer2="14"/> - <TemporalExpression tempExprId="MINUTE_15" tempExprTypeId="MINUTE_RANGE" description="Minute 15" integer1="15" integer2="15"/> - <TemporalExpression tempExprId="MINUTE_16" tempExprTypeId="MINUTE_RANGE" description="Minute 16" integer1="16" integer2="16"/> - <TemporalExpression tempExprId="MINUTE_17" tempExprTypeId="MINUTE_RANGE" description="Minute 17" integer1="17" integer2="17"/> - <TemporalExpression tempExprId="MINUTE_18" tempExprTypeId="MINUTE_RANGE" description="Minute 18" integer1="18" integer2="18"/> - <TemporalExpression tempExprId="MINUTE_19" tempExprTypeId="MINUTE_RANGE" description="Minute 19" integer1="19" integer2="19"/> - <TemporalExpression tempExprId="MINUTE_20" tempExprTypeId="MINUTE_RANGE" description="Minute 20" integer1="20" integer2="20"/> - <TemporalExpression tempExprId="MINUTE_21" tempExprTypeId="MINUTE_RANGE" description="Minute 21" integer1="21" integer2="21"/> - <TemporalExpression tempExprId="MINUTE_22" tempExprTypeId="MINUTE_RANGE" description="Minute 22" integer1="22" integer2="22"/> - <TemporalExpression tempExprId="MINUTE_23" tempExprTypeId="MINUTE_RANGE" description="Minute 23" integer1="23" integer2="23"/> - <TemporalExpression tempExprId="MINUTE_24" tempExprTypeId="MINUTE_RANGE" description="Minute 24" integer1="24" integer2="24"/> - <TemporalExpression tempExprId="MINUTE_25" tempExprTypeId="MINUTE_RANGE" description="Minute 25" integer1="25" integer2="25"/> - <TemporalExpression tempExprId="MINUTE_26" tempExprTypeId="MINUTE_RANGE" description="Minute 26" integer1="26" integer2="26"/> - <TemporalExpression tempExprId="MINUTE_27" tempExprTypeId="MINUTE_RANGE" description="Minute 27" integer1="27" integer2="27"/> - <TemporalExpression tempExprId="MINUTE_28" tempExprTypeId="MINUTE_RANGE" description="Minute 28" integer1="28" integer2="28"/> - <TemporalExpression tempExprId="MINUTE_29" tempExprTypeId="MINUTE_RANGE" description="Minute 29" integer1="29" integer2="29"/> - <TemporalExpression tempExprId="MINUTE_30" tempExprTypeId="MINUTE_RANGE" description="Minute 30" integer1="30" integer2="30"/> - <TemporalExpression tempExprId="MINUTE_31" tempExprTypeId="MINUTE_RANGE" description="Minute 31" integer1="31" integer2="31"/> - <TemporalExpression tempExprId="MINUTE_32" tempExprTypeId="MINUTE_RANGE" description="Minute 32" integer1="32" integer2="32"/> - <TemporalExpression tempExprId="MINUTE_33" tempExprTypeId="MINUTE_RANGE" description="Minute 33" integer1="33" integer2="33"/> - <TemporalExpression tempExprId="MINUTE_34" tempExprTypeId="MINUTE_RANGE" description="Minute 34" integer1="34" integer2="34"/> - <TemporalExpression tempExprId="MINUTE_35" tempExprTypeId="MINUTE_RANGE" description="Minute 35" integer1="35" integer2="35"/> - <TemporalExpression tempExprId="MINUTE_36" tempExprTypeId="MINUTE_RANGE" description="Minute 36" integer1="36" integer2="36"/> - <TemporalExpression tempExprId="MINUTE_37" tempExprTypeId="MINUTE_RANGE" description="Minute 37" integer1="37" integer2="37"/> - <TemporalExpression tempExprId="MINUTE_38" tempExprTypeId="MINUTE_RANGE" description="Minute 38" integer1="38" integer2="38"/> - <TemporalExpression tempExprId="MINUTE_39" tempExprTypeId="MINUTE_RANGE" description="Minute 39" integer1="39" integer2="39"/> - <TemporalExpression tempExprId="MINUTE_40" tempExprTypeId="MINUTE_RANGE" description="Minute 40" integer1="40" integer2="40"/> - <TemporalExpression tempExprId="MINUTE_41" tempExprTypeId="MINUTE_RANGE" description="Minute 41" integer1="41" integer2="41"/> - <TemporalExpression tempExprId="MINUTE_42" tempExprTypeId="MINUTE_RANGE" description="Minute 42" integer1="42" integer2="42"/> - <TemporalExpression tempExprId="MINUTE_43" tempExprTypeId="MINUTE_RANGE" description="Minute 43" integer1="43" integer2="43"/> - <TemporalExpression tempExprId="MINUTE_44" tempExprTypeId="MINUTE_RANGE" description="Minute 44" integer1="44" integer2="44"/> - <TemporalExpression tempExprId="MINUTE_45" tempExprTypeId="MINUTE_RANGE" description="Minute 45" integer1="45" integer2="45"/> - <TemporalExpression tempExprId="MINUTE_46" tempExprTypeId="MINUTE_RANGE" description="Minute 46" integer1="46" integer2="46"/> - <TemporalExpression tempExprId="MINUTE_47" tempExprTypeId="MINUTE_RANGE" description="Minute 47" integer1="47" integer2="47"/> - <TemporalExpression tempExprId="MINUTE_48" tempExprTypeId="MINUTE_RANGE" description="Minute 48" integer1="48" integer2="48"/> - <TemporalExpression tempExprId="MINUTE_49" tempExprTypeId="MINUTE_RANGE" description="Minute 49" integer1="49" integer2="49"/> - <TemporalExpression tempExprId="MINUTE_50" tempExprTypeId="MINUTE_RANGE" description="Minute 50" integer1="50" integer2="50"/> - <TemporalExpression tempExprId="MINUTE_51" tempExprTypeId="MINUTE_RANGE" description="Minute 51" integer1="51" integer2="51"/> - <TemporalExpression tempExprId="MINUTE_52" tempExprTypeId="MINUTE_RANGE" description="Minute 52" integer1="52" integer2="52"/> - <TemporalExpression tempExprId="MINUTE_53" tempExprTypeId="MINUTE_RANGE" description="Minute 53" integer1="53" integer2="53"/> - <TemporalExpression tempExprId="MINUTE_54" tempExprTypeId="MINUTE_RANGE" description="Minute 54" integer1="54" integer2="54"/> - <TemporalExpression tempExprId="MINUTE_55" tempExprTypeId="MINUTE_RANGE" description="Minute 55" integer1="55" integer2="55"/> - <TemporalExpression tempExprId="MINUTE_56" tempExprTypeId="MINUTE_RANGE" description="Minute 56" integer1="56" integer2="56"/> - <TemporalExpression tempExprId="MINUTE_57" tempExprTypeId="MINUTE_RANGE" description="Minute 57" integer1="57" integer2="57"/> - <TemporalExpression tempExprId="MINUTE_58" tempExprTypeId="MINUTE_RANGE" description="Minute 58" integer1="58" integer2="58"/> - <TemporalExpression tempExprId="MINUTE_59" tempExprTypeId="MINUTE_RANGE" description="Minute 59" integer1="59" integer2="59"/> - - <!-- Pre-define all 24 hours of the day --> - <TemporalExpression tempExprId="HOUR_00" tempExprTypeId="HOUR_RANGE" description="Hour 0" integer1="0" integer2="0"/> - <TemporalExpression tempExprId="HOUR_01" tempExprTypeId="HOUR_RANGE" description="Hour 1" integer1="1" integer2="1"/> - <TemporalExpression tempExprId="HOUR_02" tempExprTypeId="HOUR_RANGE" description="Hour 2" integer1="2" integer2="2"/> - <TemporalExpression tempExprId="HOUR_03" tempExprTypeId="HOUR_RANGE" description="Hour 3" integer1="3" integer2="3"/> - <TemporalExpression tempExprId="HOUR_04" tempExprTypeId="HOUR_RANGE" description="Hour 4" integer1="4" integer2="4"/> - <TemporalExpression tempExprId="HOUR_05" tempExprTypeId="HOUR_RANGE" description="Hour 5" integer1="5" integer2="5"/> - <TemporalExpression tempExprId="HOUR_06" tempExprTypeId="HOUR_RANGE" description="Hour 6" integer1="6" integer2="6"/> - <TemporalExpression tempExprId="HOUR_07" tempExprTypeId="HOUR_RANGE" description="Hour 7" integer1="7" integer2="7"/> - <TemporalExpression tempExprId="HOUR_08" tempExprTypeId="HOUR_RANGE" description="Hour 8" integer1="8" integer2="8"/> - <TemporalExpression tempExprId="HOUR_09" tempExprTypeId="HOUR_RANGE" description="Hour 9" integer1="9" integer2="9"/> - <TemporalExpression tempExprId="HOUR_10" tempExprTypeId="HOUR_RANGE" description="Hour 10" integer1="10" integer2="10"/> - <TemporalExpression tempExprId="HOUR_11" tempExprTypeId="HOUR_RANGE" description="Hour 11" integer1="11" integer2="11"/> - <TemporalExpression tempExprId="HOUR_12" tempExprTypeId="HOUR_RANGE" description="Hour 12" integer1="12" integer2="12"/> - <TemporalExpression tempExprId="HOUR_13" tempExprTypeId="HOUR_RANGE" description="Hour 13" integer1="13" integer2="13"/> - <TemporalExpression tempExprId="HOUR_14" tempExprTypeId="HOUR_RANGE" description="Hour 14" integer1="14" integer2="14"/> - <TemporalExpression tempExprId="HOUR_15" tempExprTypeId="HOUR_RANGE" description="Hour 15" integer1="15" integer2="15"/> - <TemporalExpression tempExprId="HOUR_16" tempExprTypeId="HOUR_RANGE" description="Hour 16" integer1="16" integer2="16"/> - <TemporalExpression tempExprId="HOUR_17" tempExprTypeId="HOUR_RANGE" description="Hour 17" integer1="17" integer2="17"/> - <TemporalExpression tempExprId="HOUR_18" tempExprTypeId="HOUR_RANGE" description="Hour 18" integer1="18" integer2="18"/> - <TemporalExpression tempExprId="HOUR_19" tempExprTypeId="HOUR_RANGE" description="Hour 19" integer1="19" integer2="19"/> - <TemporalExpression tempExprId="HOUR_20" tempExprTypeId="HOUR_RANGE" description="Hour 20" integer1="20" integer2="20"/> - <TemporalExpression tempExprId="HOUR_21" tempExprTypeId="HOUR_RANGE" description="Hour 21" integer1="21" integer2="21"/> - <TemporalExpression tempExprId="HOUR_22" tempExprTypeId="HOUR_RANGE" description="Hour 22" integer1="22" integer2="22"/> - <TemporalExpression tempExprId="HOUR_23" tempExprTypeId="HOUR_RANGE" description="Hour 23" integer1="23" integer2="23"/> - - <!-- Pre-define all days of the week (Sunday -> Saturday) --> - <TemporalExpression tempExprId="DAYOFWEEK_01" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Sunday" integer1="1" integer2="1"/> - <TemporalExpression tempExprId="DAYOFWEEK_02" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Monday" integer1="2" integer2="2"/> - <TemporalExpression tempExprId="DAYOFWEEK_03" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Tuesday" integer1="3" integer2="3"/> - <TemporalExpression tempExprId="DAYOFWEEK_04" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Wednesday" integer1="4" integer2="4"/> - <TemporalExpression tempExprId="DAYOFWEEK_05" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Thursday" integer1="5" integer2="5"/> - <TemporalExpression tempExprId="DAYOFWEEK_06" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Friday" integer1="6" integer2="6"/> - <TemporalExpression tempExprId="DAYOFWEEK_07" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Saturday" integer1="7" integer2="7"/> - - <!-- Pre-define some day of the week ranges --> - <TemporalExpression tempExprId="MON_TO_FRI" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Monday to Friday" integer1="2" integer2="6"/> - <TemporalExpression tempExprId="SAT_TO_SUN" tempExprTypeId="DAY_OF_WEEK_RANGE" description="Saturday to Sunday" integer1="7" integer2="1"/> - - <!-- Pre-define all 13 months (January -> Undecimber) --> - <TemporalExpression tempExprId="MONTH_RANGE_01" tempExprTypeId="MONTH_RANGE" description="January" integer1="0" integer2="0"/> - <TemporalExpression tempExprId="MONTH_RANGE_02" tempExprTypeId="MONTH_RANGE" description="February" integer1="1" integer2="1"/> - <TemporalExpression tempExprId="MONTH_RANGE_03" tempExprTypeId="MONTH_RANGE" description="March" integer1="2" integer2="2"/> - <TemporalExpression tempExprId="MONTH_RANGE_04" tempExprTypeId="MONTH_RANGE" description="April" integer1="3" integer2="3"/> - <TemporalExpression tempExprId="MONTH_RANGE_05" tempExprTypeId="MONTH_RANGE" description="May" integer1="4" integer2="4"/> - <TemporalExpression tempExprId="MONTH_RANGE_06" tempExprTypeId="MONTH_RANGE" description="June" integer1="5" integer2="5"/> - <TemporalExpression tempExprId="MONTH_RANGE_07" tempExprTypeId="MONTH_RANGE" description="July" integer1="6" integer2="6"/> - <TemporalExpression tempExprId="MONTH_RANGE_08" tempExprTypeId="MONTH_RANGE" description="August" integer1="7" integer2="7"/> - <TemporalExpression tempExprId="MONTH_RANGE_09" tempExprTypeId="MONTH_RANGE" description="September" integer1="8" integer2="8"/> - <TemporalExpression tempExprId="MONTH_RANGE_10" tempExprTypeId="MONTH_RANGE" description="October" integer1="9" integer2="9"/> - <TemporalExpression tempExprId="MONTH_RANGE_11" tempExprTypeId="MONTH_RANGE" description="November" integer1="10" integer2="10"/> - <TemporalExpression tempExprId="MONTH_RANGE_12" tempExprTypeId="MONTH_RANGE" description="December" integer1="11" integer2="11"/> - <TemporalExpression tempExprId="MONTH_RANGE_13" tempExprTypeId="MONTH_RANGE" description="Undecimber" integer1="12" integer2="12"/> - - <!-- Pre-define all 31 days of the month --> - <TemporalExpression tempExprId="DAYOFMONTH_01" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 1 of Month" integer1="1" integer2="1"/> - <TemporalExpression tempExprId="DAYOFMONTH_02" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 2 of Month" integer1="2" integer2="2"/> - <TemporalExpression tempExprId="DAYOFMONTH_03" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 3 of Month" integer1="3" integer2="3"/> - <TemporalExpression tempExprId="DAYOFMONTH_04" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 4 of Month" integer1="4" integer2="4"/> - <TemporalExpression tempExprId="DAYOFMONTH_05" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 5 of Month" integer1="5" integer2="5"/> - <TemporalExpression tempExprId="DAYOFMONTH_06" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 6 of Month" integer1="6" integer2="6"/> - <TemporalExpression tempExprId="DAYOFMONTH_07" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 7 of Month" integer1="7" integer2="7"/> - <TemporalExpression tempExprId="DAYOFMONTH_08" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 8 of Month" integer1="8" integer2="8"/> - <TemporalExpression tempExprId="DAYOFMONTH_09" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 9 of Month" integer1="9" integer2="9"/> - <TemporalExpression tempExprId="DAYOFMONTH_10" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 10 of Month" integer1="10" integer2="10"/> - <TemporalExpression tempExprId="DAYOFMONTH_11" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 11 of Month" integer1="11" integer2="11"/> - <TemporalExpression tempExprId="DAYOFMONTH_12" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 12 of Month" integer1="12" integer2="12"/> - <TemporalExpression tempExprId="DAYOFMONTH_13" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 13 of Month" integer1="13" integer2="13"/> - <TemporalExpression tempExprId="DAYOFMONTH_14" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 14 of Month" integer1="14" integer2="14"/> - <TemporalExpression tempExprId="DAYOFMONTH_15" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 15 of Month" integer1="15" integer2="15"/> - <TemporalExpression tempExprId="DAYOFMONTH_16" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 16 of Month" integer1="16" integer2="16"/> - <TemporalExpression tempExprId="DAYOFMONTH_17" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 17 of Month" integer1="17" integer2="17"/> - <TemporalExpression tempExprId="DAYOFMONTH_18" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 18 of Month" integer1="18" integer2="18"/> - <TemporalExpression tempExprId="DAYOFMONTH_19" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 19 of Month" integer1="19" integer2="19"/> - <TemporalExpression tempExprId="DAYOFMONTH_20" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 20 of Month" integer1="20" integer2="20"/> - <TemporalExpression tempExprId="DAYOFMONTH_21" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 21 of Month" integer1="21" integer2="21"/> - <TemporalExpression tempExprId="DAYOFMONTH_22" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 22 of Month" integer1="22" integer2="22"/> - <TemporalExpression tempExprId="DAYOFMONTH_23" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 23 of Month" integer1="23" integer2="23"/> - <TemporalExpression tempExprId="DAYOFMONTH_24" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 24 of Month" integer1="24" integer2="24"/> - <TemporalExpression tempExprId="DAYOFMONTH_25" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 25 of Month" integer1="25" integer2="25"/> - <TemporalExpression tempExprId="DAYOFMONTH_26" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 26 of Month" integer1="26" integer2="26"/> - <TemporalExpression tempExprId="DAYOFMONTH_27" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 27 of Month" integer1="27" integer2="27"/> - <TemporalExpression tempExprId="DAYOFMONTH_28" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 28 of Month" integer1="28" integer2="28"/> - <TemporalExpression tempExprId="DAYOFMONTH_29" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 29 of Month" integer1="29" integer2="29"/> - <TemporalExpression tempExprId="DAYOFMONTH_30" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 30 of Month" integer1="30" integer2="30"/> - <TemporalExpression tempExprId="DAYOFMONTH_31" tempExprTypeId="DAY_OF_MONTH_RANGE" description="Day 31 of Month" integer1="31" integer2="31"/> - <!-- Pre-define nth Monday of the month - many US observances occur on a Monday --> <TemporalExpression tempExprId="1ST_MONDAY_IN_MONTH" tempExprTypeId="DAY_IN_MONTH" description="First Monday in Month" integer1="2" integer2="1"/> <TemporalExpression tempExprId="2ND_MONDAY_IN_MONTH" tempExprTypeId="DAY_IN_MONTH" description="Second Monday in Month" integer1="2" integer2="2"/> Modified: ofbiz/branches/20111205EmailHandling/framework/service/ofbiz-component.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/service/ofbiz-component.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/service/ofbiz-component.xml (original) +++ ofbiz/branches/20111205EmailHandling/framework/service/ofbiz-component.xml Mon Mar 26 20:56:02 2012 @@ -30,6 +30,7 @@ under the License. <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/> <entity-resource type="data" reader-name="seed" loader="main" location="data/ScheduledServiceData.xml"/> <entity-resource type="data" reader-name="seed-initial" loader="main" location="data/ScheduledServices.xml"/> + <entity-resource type="data" reader-name="seed" loader="main" location="data/ServiceSeedData.xml"/> <entity-resource type="data" reader-name="seed" loader="main" location="data/ServiceSecurityData.xml"/> <entity-resource type="data" reader-name="demo" loader="main" location="data/ServiceDemoData.xml"/> Modified: ofbiz/branches/20111205EmailHandling/framework/service/src/org/ofbiz/service/ModelService.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/framework/service/src/org/ofbiz/service/ModelService.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/framework/service/src/org/ofbiz/service/ModelService.java (original) +++ ofbiz/branches/20111205EmailHandling/framework/service/src/org/ofbiz/service/ModelService.java Mon Mar 26 20:56:02 2012 @@ -202,8 +202,6 @@ public class ModelService extends Abstra /** Flag to say if we have pulled in our addition parameters from our implemented service(s) */ protected boolean inheritedParameters = false; - public GenericInvoker invoker; - public ModelService() {} public ModelService(ModelService model) { @@ -229,9 +227,6 @@ public class ModelService extends Abstra this.overrideParameters = model.overrideParameters; this.inheritedParameters = model.inheritedParameters(); this.internalGroup = model.internalGroup; - if (model.invoker != null) { - this.invoker = model.invoker.copy(this); - } List<ModelParam> modelParamList = model.getModelParamList(); for (ModelParam param: modelParamList) { @@ -1365,6 +1360,18 @@ public class ModelService extends Abstra /*--------- Standard Objects --------*/ /*-----------------------------------*/ + /* null Element */ + Element stdNullElement = document.createElement("xsd:element"); + stdNullElement.setAttribute("name", "null"); + Element stdNullElement0 = document.createElement("xsd:complexType"); + stdNullElement.appendChild(stdNullElement0); + Element stdNullElement1 = document.createElement("xsd:attribute"); + stdNullElement0.appendChild(stdNullElement1); + stdNullElement1.setAttribute("name", "value"); + stdNullElement1.setAttribute("type", "xsd:string"); + stdNullElement1.setAttribute("use", "required"); + stdNullElement1.setAttribute("nillable", "true"); + schema.appendChild(stdNullElement); /* std-String Element */ Element stdStringElement = document.createElement("xsd:element"); stdStringElement.setAttribute("name", "std-String"); @@ -1442,6 +1449,17 @@ public class ModelService extends Abstra stdLocaleElement1.setAttribute("type", "xsd:string"); stdLocaleElement1.setAttribute("use", "required"); schema.appendChild(stdLocaleElement); + /* std-BigDecimal Element */ + Element stdBigDecimalElement = document.createElement("xsd:element"); + stdBigDecimalElement.setAttribute("name", "std-BigDecimal"); + Element stdBigDecimalElement0 = document.createElement("xsd:complexType"); + stdBigDecimalElement.appendChild(stdBigDecimalElement0); + Element stdBigDecimalElement1 = document.createElement("xsd:attribute"); + stdBigDecimalElement0.appendChild(stdBigDecimalElement1); + stdBigDecimalElement1.setAttribute("name", "value"); + stdBigDecimalElement1.setAttribute("type", "xsd:decimal"); + stdBigDecimalElement1.setAttribute("use", "required"); + schema.appendChild(stdBigDecimalElement); /*-----------------------------------*/ /*----------- SQL Objects -----------*/ @@ -1652,6 +1670,12 @@ public class ModelService extends Abstra mapValueComplexType.setAttribute("name", "map-Value"); Element mapValueComplexType0 = document.createElement("xsd:choice"); mapValueComplexType.appendChild(mapValueComplexType0); + Element mapValueComplexTypeNull = document.createElement("xsd:element"); + mapValueComplexTypeNull.setAttribute("ref", "tns:null"); + mapValueComplexTypeNull.setAttribute("minOccurs", "1"); + mapValueComplexTypeNull.setAttribute("maxOccurs", "1"); + mapValueComplexTypeNull.setAttribute("nillable", "true"); + mapValueComplexType0.appendChild(mapValueComplexTypeNull); Element mapValueComplexType1 = document.createElement("xsd:element"); mapValueComplexType1.setAttribute("ref", "tns:std-String"); mapValueComplexType1.setAttribute("minOccurs", "1"); @@ -1778,12 +1802,24 @@ public class ModelService extends Abstra mapValueComplexType25.setAttribute("maxOccurs", "1"); mapValueComplexType0.appendChild(mapValueComplexType25); schema.appendChild(mapValueComplexType); + Element mapValueComplexType26 = document.createElement("xsd:element"); + mapValueComplexType26.setAttribute("ref", "tns:std-BigDecimal"); + mapValueComplexType26.setAttribute("minOccurs", "1"); + mapValueComplexType26.setAttribute("maxOccurs", "1"); + mapValueComplexType0.appendChild(mapValueComplexType26); + schema.appendChild(mapValueComplexType); /* col-Collection Complex Type */ Element colCollectionComplexType = document.createElement("xsd:complexType"); colCollectionComplexType.setAttribute("name", "col-Collection"); Element colCollectionComplexType0 = document.createElement("xsd:choice"); colCollectionComplexType.appendChild(colCollectionComplexType0); + Element colCollectionComplexTypeNull = document.createElement("xsd:element"); + colCollectionComplexTypeNull.setAttribute("ref", "tns:null"); + colCollectionComplexTypeNull.setAttribute("minOccurs", "0"); + colCollectionComplexTypeNull.setAttribute("maxOccurs", "unbounded"); + colCollectionComplexTypeNull.setAttribute("nillable", "true"); + colCollectionComplexType0.appendChild(colCollectionComplexTypeNull); Element colCollectionComplexType1 = document.createElement("xsd:element"); colCollectionComplexType1.setAttribute("ref", "tns:std-String"); colCollectionComplexType1.setAttribute("minOccurs", "0"); @@ -1910,6 +1946,12 @@ public class ModelService extends Abstra colCollectionComplexType25.setAttribute("maxOccurs", "unbounded"); colCollectionComplexType0.appendChild(colCollectionComplexType25); schema.appendChild(colCollectionComplexType); + Element colCollectionComplexType26 = document.createElement("xsd:element"); + colCollectionComplexType26.setAttribute("ref", "tns:std-BigDecimal"); + colCollectionComplexType26.setAttribute("minOccurs", "0"); + colCollectionComplexType26.setAttribute("maxOccurs", "unbounded"); + colCollectionComplexType0.appendChild(colCollectionComplexType26); + schema.appendChild(colCollectionComplexType); types.setDocumentationElement(schema); return types; |
| Free forum by Nabble | Edit this page |
