Author: jonesde
Date: Thu Mar 8 18:45:55 2007 New Revision: 516271 URL: http://svn.apache.org/viewvc?view=rev&rev=516271 Log: Cleanup of LocalDispatcher creation through the GenericDispatcher object; consolidates a bunch of code and hopefully simplifies a things; should also more permanently fix the weird problem we were having with the testing services a bit ago Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServicesTests.java ofbiz/trunk/framework/entity/ofbiz-component.xml ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/EntityServiceFactory.java ofbiz/trunk/framework/guiapp/src/org/ofbiz/guiapp/xui/XuiContainer.java ofbiz/trunk/framework/service/src/org/ofbiz/service/GenericDispatcher.java ofbiz/trunk/framework/service/src/org/ofbiz/service/WebAppDispatcher.java ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java ofbiz/trunk/framework/service/src/org/ofbiz/service/mail/JavaMailContainer.java ofbiz/trunk/framework/service/src/org/ofbiz/service/rmi/RmiServiceContainer.java ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTests.java ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java ofbiz/trunk/framework/workflow/src/org/ofbiz/workflow/impl/WfExecutionObjectImpl.java Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java (original) +++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java Thu Mar 8 18:45:55 2007 @@ -66,7 +66,7 @@ protected void setUp() throws Exception { this.delegator = GenericDelegator.getGenericDelegator(DELEGATOR_NAME); - dispatcher = new GenericDispatcher(DISPATCHER_NAME, delegator); + this.dispatcher = GenericDispatcher.getLocalDispatcher(DISPATCHER_NAME, delegator); // populate test data configFile = new String("paymentTest.properties"); Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java (original) +++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java Thu Mar 8 18:45:55 2007 @@ -449,11 +449,7 @@ public LocalDispatcher getDispatcher() { if (_dispatcher == null) { - try { - _dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, this.getDelegator()); - } catch (GenericServiceException e) { - throw new RuntimeException(e); - } + _dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, this.getDelegator()); } return _dispatcher; } Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServicesTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServicesTests.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServicesTests.java (original) +++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServicesTests.java Thu Mar 8 18:45:55 2007 @@ -54,7 +54,7 @@ protected void setUp() throws Exception { delegator = GenericDelegator.getGenericDelegator(DELEGATOR_NAME); - dispatcher = new GenericDispatcher(DISPATCHER_NAME, delegator); + dispatcher = GenericDispatcher.getLocalDispatcher(DISPATCHER_NAME, delegator); } protected void tearDown() throws Exception { Modified: ofbiz/trunk/framework/entity/ofbiz-component.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/ofbiz-component.xml?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/entity/ofbiz-component.xml (original) +++ ofbiz/trunk/framework/entity/ofbiz-component.xml Thu Mar 8 18:45:55 2007 @@ -34,5 +34,5 @@ <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_test.xml"/> <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup_test.xml"/> - <test-suite loader="main" location="testdef/entitytests.xml"/> + <!-- <test-suite loader="main" location="testdef/entitytests.xml"/> --> </ofbiz-component> Modified: ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/EntityServiceFactory.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/EntityServiceFactory.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/EntityServiceFactory.java (original) +++ ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/EntityServiceFactory.java Thu Mar 8 18:45:55 2007 @@ -18,8 +18,6 @@ *******************************************************************************/ package org.ofbiz.entityext; -import java.util.HashMap; - import org.ofbiz.entity.GenericDelegator; import org.ofbiz.service.DispatchContext; import org.ofbiz.service.GenericDispatcher; @@ -32,20 +30,8 @@ public static final String module = EntityServiceFactory.class.getName(); - public static HashMap delegatorDispatchers = new HashMap(); - public static LocalDispatcher getLocalDispatcher(GenericDelegator delegator) { - String delegatorName = delegator.getDelegatorName(); - GenericDispatcher dispatcher = (GenericDispatcher) delegatorDispatchers.get(delegatorName); - if (dispatcher == null) { - synchronized (EntityServiceFactory.class) { - dispatcher = (GenericDispatcher) delegatorDispatchers.get(delegatorName); - if (dispatcher == null) { - dispatcher = new GenericDispatcher("entity-" + delegatorName, delegator); - delegatorDispatchers.put(delegatorName, dispatcher); - } - } - } + LocalDispatcher dispatcher = GenericDispatcher.getLocalDispatcher("entity-" + delegator.getDelegatorName(), delegator); return dispatcher; } Modified: ofbiz/trunk/framework/guiapp/src/org/ofbiz/guiapp/xui/XuiContainer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/guiapp/src/org/ofbiz/guiapp/xui/XuiContainer.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/guiapp/src/org/ofbiz/guiapp/xui/XuiContainer.java (original) +++ ofbiz/trunk/framework/guiapp/src/org/ofbiz/guiapp/xui/XuiContainer.java Thu Mar 8 18:45:55 2007 @@ -67,12 +67,7 @@ // get the dispatcher String dispatcherName = ContainerConfig.getPropertyValue(cc, "dispatcher-name", "xui-dispatcher"); - LocalDispatcher dispatcher = null; - try { - dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator); - } catch (GenericServiceException e) { - throw new ContainerException(e); - } + LocalDispatcher dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator); // get the pre-defined session ID String xuiSessionId = ContainerConfig.getPropertyValue(cc, "xui-session-id", null); Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/GenericDispatcher.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/GenericDispatcher.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/GenericDispatcher.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/GenericDispatcher.java Thu Mar 8 18:45:55 2007 @@ -20,7 +20,10 @@ import java.util.Map; +import javolution.util.FastMap; + import org.ofbiz.entity.GenericDelegator; +import org.ofbiz.entity.GenericEntityException; import org.ofbiz.base.util.Debug; /** @@ -29,14 +32,78 @@ public class GenericDispatcher extends GenericAbstractDispatcher { public static final String module = GenericDispatcher.class.getName(); + + protected static Map dispatcherCache = FastMap.newInstance(); + + public static LocalDispatcher getLocalDispatcher(String dispatcherName, GenericDelegator delegator) { + return getLocalDispatcher(dispatcherName, delegator, null, null); + } - public GenericDispatcher() {} + public static LocalDispatcher getLocalDispatcher(String dispatcherName, GenericDelegator delegator, ClassLoader loader) { + return getLocalDispatcher(dispatcherName, delegator, loader, null); + } + + public static LocalDispatcher getLocalDispatcher(String dispatcherName, GenericDelegator delegator, ClassLoader loader, ServiceDispatcher serviceDispatcher) { + if (dispatcherName == null) { + dispatcherName = "default"; + Debug.logWarning("Got a getGenericDelegator call with a null dispatcherName, assuming default for the name.", module); + } + LocalDispatcher dispatcher = (LocalDispatcher) dispatcherCache.get(dispatcherName); - public GenericDispatcher(String name, GenericDelegator delegator) { - this(name, delegator, null); + if (dispatcher == null) { + synchronized (GenericDelegator.class) { + // must check if null again as one of the blocked threads can still enter + dispatcher = (GenericDispatcher) dispatcherCache.get(dispatcherName); + if (dispatcher == null) { + if (Debug.infoOn()) Debug.logInfo("Creating new dispatcher [" + dispatcherName + "] (" + Thread.currentThread().getName() + ")", module); + //Debug.logInfo(new Exception(), "Showing stack where new dispatcher is being created...", module); + + if (delegator == null && serviceDispatcher != null) { + delegator = serviceDispatcher.getDelegator(); + } + + if (loader == null) { + loader = GenericDispatcher.class.getClassLoader(); + } + + ServiceDispatcher sd = serviceDispatcher != null? serviceDispatcher : ServiceDispatcher.getInstance(dispatcherName, delegator); + LocalDispatcher thisDispatcher = null; + if (sd != null) { + dispatcher = sd.getLocalDispatcher(dispatcherName); + } + if (thisDispatcher == null) { + dispatcher = new GenericDispatcher(dispatcherName, delegator, loader, sd); + } + + if (dispatcher != null) { + dispatcherCache.put(dispatcherName, dispatcher); + } else { + Debug.logError("Could not create dispatcher with name " + dispatcherName + ", constructor failed (got null value) not sure why/how.", module); + } + } + } + } + return dispatcher; } - public GenericDispatcher(String name, GenericDelegator delegator, ClassLoader loader) { + /** special method to obtain a new 'unique' reference with a variation on parameters */ + public static LocalDispatcher newInstance(String name, GenericDelegator delegator, boolean enableJM, boolean enableJMS, boolean enableSvcs) throws GenericServiceException { + ServiceDispatcher sd = new ServiceDispatcher(delegator, enableJM, enableJMS, enableSvcs); + ClassLoader loader = null; + try { + loader = Thread.currentThread().getContextClassLoader(); + } catch (SecurityException e) { + loader = GenericDispatcher.class.getClassLoader(); + } + return new GenericDispatcher(name, delegator, loader, sd); + } + + protected GenericDispatcher() {} + + protected GenericDispatcher(String name, GenericDelegator delegator, ClassLoader loader, ServiceDispatcher serviceDispatcher) { + if (serviceDispatcher != null) { + this.dispatcher = serviceDispatcher; + } if (loader == null) { try { loader = Thread.currentThread().getContextClassLoader(); @@ -48,20 +115,6 @@ init(name, delegator, dc); } - public GenericDispatcher(DispatchContext ctx, GenericDelegator delegator) { - init(ctx.getName(), delegator, ctx); - } - - public GenericDispatcher(DispatchContext ctx, ServiceDispatcher dispatcher) { - this.dispatcher = dispatcher; - this.ctx = ctx; - this.name = ctx.getName(); - - ctx.setDispatcher(this); - ctx.loadReaders(); - dispatcher.register(name, ctx); - } - protected void init(String name, GenericDelegator delegator, DispatchContext ctx) { if (name == null || name.length() == 0) throw new IllegalArgumentException("The name of a LocalDispatcher cannot be a null or empty String"); @@ -73,36 +126,6 @@ ctx.setDispatcher(this); ctx.loadReaders(); if (Debug.infoOn()) Debug.logInfo("[LocalDispatcher] : Created Dispatcher for: " + name, module); - } - - public static LocalDispatcher getLocalDispatcher(String name, GenericDelegator delegator) throws GenericServiceException { - ServiceDispatcher sd = ServiceDispatcher.getInstance(name, delegator); - LocalDispatcher thisDispatcher = null; - if (sd != null) { - thisDispatcher = sd.getLocalDispatcher(name); - } - if (thisDispatcher == null) { - thisDispatcher = new GenericDispatcher(name, delegator); - } - - if (thisDispatcher != null) { - return thisDispatcher; - } else { - throw new GenericServiceException("Unable to load dispatcher for name : " + name + " with delegator : " + delegator.getDelegatorName()); - } - } - - // special method to obtain a new 'unique' reference - public static LocalDispatcher newInstance(String name, GenericDelegator delegator, boolean enableJM, boolean enableJMS, boolean enableSvcs) throws GenericServiceException { - ServiceDispatcher sd = new ServiceDispatcher(delegator, enableJM, enableJMS, enableSvcs); - ClassLoader loader = null; - try { - loader = Thread.currentThread().getContextClassLoader(); - } catch (SecurityException e) { - loader = GenericDispatcher.class.getClassLoader(); - } - DispatchContext dc = new DispatchContext(name, null, loader, null); - return new GenericDispatcher(dc, sd); } /** Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/WebAppDispatcher.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/WebAppDispatcher.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/WebAppDispatcher.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/WebAppDispatcher.java Thu Mar 8 18:45:55 2007 @@ -45,10 +45,4 @@ DispatchContext dc = new DispatchContext(name, readerURLs, loader, null); init(name, delegator, dc); } - - public WebAppDispatcher(DispatchContext ctx, GenericDelegator delegator) { - super(ctx, delegator); - } - } - Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java Thu Mar 8 18:45:55 2007 @@ -44,9 +44,8 @@ * Initializes the LocalDispatcher for this service listener. * @param dispatcher */ - protected AbstractJmsListener(ServiceDispatcher dispatcher) { - DispatchContext dctx = new DispatchContext("JMSDispatcher", null, this.getClass().getClassLoader(), null); - this.dispatcher = new GenericDispatcher(dctx, dispatcher); + protected AbstractJmsListener(ServiceDispatcher serviceDispatcher) { + this.dispatcher = GenericDispatcher.getLocalDispatcher("JMSDispatcher", null, this.getClass().getClassLoader(), serviceDispatcher); } /** Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java Thu Mar 8 18:45:55 2007 @@ -19,22 +19,22 @@ package org.ofbiz.service.job; import java.io.IOException; +import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.sql.Timestamp; import javolution.util.FastMap; import org.ofbiz.base.util.Debug; +import org.ofbiz.base.util.GeneralRuntimeException; import org.ofbiz.base.util.UtilDateTime; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; -import org.ofbiz.base.util.GeneralRuntimeException; import org.ofbiz.entity.GenericDelegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; @@ -48,7 +48,6 @@ import org.ofbiz.entity.transaction.TransactionUtil; import org.ofbiz.service.DispatchContext; import org.ofbiz.service.GenericDispatcher; -import org.ofbiz.service.GenericServiceException; import org.ofbiz.service.LocalDispatcher; import org.ofbiz.service.calendar.RecurrenceInfo; import org.ofbiz.service.calendar.RecurrenceInfoException; @@ -90,12 +89,7 @@ /** Returns the ServiceDispatcher. */ public LocalDispatcher getDispatcher() { - LocalDispatcher thisDispatcher = null; - try { - thisDispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator); - } catch (GenericServiceException e) { - Debug.logError(e, module); - } + LocalDispatcher thisDispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator); return thisDispatcher; } Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/mail/JavaMailContainer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/mail/JavaMailContainer.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/mail/JavaMailContainer.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/mail/JavaMailContainer.java Thu Mar 8 18:45:55 2007 @@ -93,7 +93,7 @@ } this.delegator = GenericDelegator.getGenericDelegator(delegatorName); - this.dispatcher = new GenericDispatcher(dispatcherName, delegator); + this.dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator); this.timerDelay = (long) ContainerConfig.getPropertyValue(cfg, "poll-delay", 300000); this.maxSize = (long) ContainerConfig.getPropertyValue(cfg, "maxSize", 1000000); // maximum size in bytes Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/rmi/RmiServiceContainer.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/rmi/RmiServiceContainer.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/rmi/RmiServiceContainer.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/rmi/RmiServiceContainer.java Thu Mar 8 18:45:55 2007 @@ -115,7 +115,7 @@ GenericDelegator delegator = GenericDelegator.getGenericDelegator(delegatorProp.value); // create the LocalDispatcher - LocalDispatcher dispatcher = new GenericDispatcher(name, delegator); + LocalDispatcher dispatcher = GenericDispatcher.getLocalDispatcher(name, delegator); // create the RemoteDispatcher try { Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTests.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTests.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/test/ServiceEngineTests.java Thu Mar 8 18:45:55 2007 @@ -30,7 +30,7 @@ public class ServiceEngineTests extends TestCase { public static final String DELEGATOR_NAME = "test"; - public static final String DISPATCHER_NAME = "se-test-dispatcher"; + public static final String DISPATCHER_NAME = "test-dispatcher"; private LocalDispatcher dispatcher = null; @@ -40,11 +40,10 @@ protected void setUp() throws Exception { GenericDelegator delegator = GenericDelegator.getGenericDelegator(DELEGATOR_NAME); - dispatcher = new GenericDispatcher(DISPATCHER_NAME, delegator); + dispatcher = GenericDispatcher.getLocalDispatcher(DISPATCHER_NAME, delegator); } protected void tearDown() throws Exception { - dispatcher.deregister(); } public void testBasicJavaInvocation() throws Exception { Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java (original) +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/ModelTestSuite.java Thu Mar 8 18:45:55 2007 @@ -61,7 +61,7 @@ if (UtilValidate.isEmpty(this.dispatcherName)) this.dispatcherName = "test-dispatcher"; this.delegator = GenericDelegator.getGenericDelegator(this.delegatorName); - this.dispatcher = new GenericDispatcher(this.dispatcherName, delegator); + this.dispatcher = GenericDispatcher.getLocalDispatcher(this.dispatcherName, delegator); List testCaseElementList = UtilXml.childElementList(mainElement, "test-case"); Iterator testCaseElementIter = testCaseElementList.iterator(); Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java (original) +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/CoreEvents.java Thu Mar 8 18:45:55 2007 @@ -41,18 +41,18 @@ import org.ofbiz.base.util.UtilHttp; import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; -import org.ofbiz.webapp.control.RequestHandler; import org.ofbiz.entity.GenericDelegator; import org.ofbiz.entity.GenericEntity; import org.ofbiz.entity.GenericValue; import org.ofbiz.security.Security; import org.ofbiz.service.DispatchContext; +import org.ofbiz.service.GenericDispatcher; import org.ofbiz.service.GenericServiceException; import org.ofbiz.service.LocalDispatcher; import org.ofbiz.service.ModelService; import org.ofbiz.service.ServiceDispatcher; -import org.ofbiz.service.WebAppDispatcher; import org.ofbiz.service.calendar.RecurrenceRule; +import org.ofbiz.webapp.control.RequestHandler; /** * CoreEvents - WebApp Events Related To Framework pieces @@ -138,12 +138,7 @@ return "error"; } - ServiceDispatcher sd = ServiceDispatcher.getInstance(dispatcherName, delegator); - - if (sd == null) - dispatcher = new WebAppDispatcher(dctx, delegator); - else - dispatcher = sd.getLocalContext(dispatcherName).getDispatcher(); + dispatcher = GenericDispatcher.getLocalDispatcher(dispatcherName, delegator); request.getSession().setAttribute("delegator", delegator); request.getSession().setAttribute("dispatcher", dispatcher); Modified: ofbiz/trunk/framework/workflow/src/org/ofbiz/workflow/impl/WfExecutionObjectImpl.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/workflow/src/org/ofbiz/workflow/impl/WfExecutionObjectImpl.java?view=diff&rev=516271&r1=516270&r2=516271 ============================================================================== --- ofbiz/trunk/framework/workflow/src/org/ofbiz/workflow/impl/WfExecutionObjectImpl.java (original) +++ ofbiz/trunk/framework/workflow/src/org/ofbiz/workflow/impl/WfExecutionObjectImpl.java Thu Mar 8 18:45:55 2007 @@ -41,7 +41,6 @@ import org.ofbiz.entity.serialize.XmlSerializer; import org.ofbiz.service.DispatchContext; import org.ofbiz.service.GenericDispatcher; -import org.ofbiz.service.GenericServiceException; import org.ofbiz.service.LocalDispatcher; import org.ofbiz.workflow.AlreadySuspended; import org.ofbiz.workflow.CannotResume; @@ -593,11 +592,7 @@ * @throws WfException */ protected LocalDispatcher getDispatcher() throws WfException { - try { - return GenericDispatcher.getLocalDispatcher(dispatcherName, getDelegator()); - } catch (GenericServiceException e) { - throw new WfException("No workflow service dispatcher", e); - } + return GenericDispatcher.getLocalDispatcher(dispatcherName, getDelegator()); } private Map getContext() throws WfException { |
Free forum by Nabble | Edit this page |