You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2009/08/28 18:48:39 UTC
svn commit: r808951 [2/2] - in /ofbiz/branches/executioncontext20090812: ./
framework/api/config/ framework/api/src/org/ofbiz/api/authorization/
framework/api/src/org/ofbiz/api/context/
framework/common/src/org/ofbiz/common/ framework/context/src/org/o...
Modified: ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/ServiceDispatcher.java?rev=808951&r1=808950&r2=808951&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/ServiceDispatcher.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/ServiceDispatcher.java Fri Aug 28 16:48:37 2009
@@ -34,7 +34,6 @@
import org.ofbiz.api.context.GenericParametersArtifact;
import org.ofbiz.base.config.GenericConfigException;
import org.ofbiz.base.util.Debug;
-import org.ofbiz.base.util.GeneralRuntimeException;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.base.util.UtilTimer;
import org.ofbiz.base.util.UtilValidate;
@@ -114,9 +113,13 @@
if (!this.delegator.getOriginalDelegatorName().equals(delegatorName)) {
delegatorName = this.delegator.getOriginalDelegatorName();
}
- GenericDelegator newDelegator = DelegatorFactory.getGenericDelegator(delegatorName);
+ ExecutionContext executionContext = (ExecutionContext) ExecutionContextFactory.getInstance();
+ GenericDelegator newDelegator = DelegatorFactory.getGenericDelegator(delegatorName, executionContext);
+ GenericValue userLogin = newDelegator.makeValue("UserLogin");
+ userLogin.set("userLoginId", "system");
+ executionContext.setUserLogin(userLogin);
this.jm = JobManager.getInstance(newDelegator, enableJM);
- } catch (GeneralRuntimeException e) {
+ } catch (Exception e) {
Debug.logWarning(e.getMessage(), module);
}
@@ -303,6 +306,7 @@
ExecutionContext executionContext = (ExecutionContext) context.get("executionContext");
if (executionContext == null) {
try {
+ Debug.logInfo(new Exception(), modelService.name + ": No executionContext, creating new one", module);
executionContext = (ExecutionContext) ExecutionContextFactory.getInstance();
} catch (Exception e) {
throw new GenericServiceException(e);
Modified: ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/JobManager.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/JobManager.java?rev=808951&r1=808950&r2=808951&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/JobManager.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/JobManager.java Fri Aug 28 16:48:37 2009
@@ -167,7 +167,7 @@
Debug.logError("Unable to locate DispatchContext object; not running job!", module);
continue;
}
- Job job = new PersistedServiceJob(dctx, v, null); // TODO fix the requester
+ Job job = new PersistedServiceJob(dctx, v, null, this.delegator); // TODO fix the requester
try {
job.queue();
localPoll.add(job);
Modified: ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java?rev=808951&r1=808950&r2=808951&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java Fri Aug 28 16:48:37 2009
@@ -28,6 +28,7 @@
import javolution.util.FastMap;
+import org.ofbiz.api.context.ExecutionContextFactory;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.UtilDateTime;
import org.ofbiz.base.util.UtilGenerics;
@@ -35,6 +36,7 @@
import org.ofbiz.base.util.UtilValidate;
import org.ofbiz.service.calendar.TemporalExpression;
import org.ofbiz.service.calendar.TemporalExpressionWorker;
+import org.ofbiz.entity.DelegatorFactory;
import org.ofbiz.entity.GenericDelegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
@@ -43,7 +45,9 @@
import org.ofbiz.entity.serialize.SerializeException;
import org.ofbiz.entity.serialize.XmlSerializer;
import org.ofbiz.service.DispatchContext;
+import org.ofbiz.service.ExecutionContext;
import org.ofbiz.service.GenericRequester;
+import org.ofbiz.service.GenericServiceException;
import org.ofbiz.service.ServiceUtil;
import org.ofbiz.service.calendar.RecurrenceInfo;
import org.ofbiz.service.config.ServiceConfigUtil;
@@ -79,6 +83,16 @@
this.maxRetry = jobValue.get("maxRetry") != null ? jobValue.getLong("maxRetry").longValue() : -1;
}
+ public PersistedServiceJob(DispatchContext dctx, GenericValue jobValue, GenericRequester req, GenericDelegator delegator) {
+ super(jobValue.getString("jobId"), jobValue.getString("jobName"));
+ this.delegator = delegator;
+ this.requester = req;
+ this.dctx = dctx;
+ this.storedDate = jobValue.getTimestamp("runTime");
+ this.runtime = storedDate.getTime();
+ this.maxRetry = jobValue.get("maxRetry") != null ? jobValue.getLong("maxRetry").longValue() : -1;
+ }
+
@Override
public void queue() throws InvalidJobException {
super.queue();
@@ -292,6 +306,15 @@
if (!UtilValidate.isEmpty(jobObj.get("runAsUser"))) {
context.put("userLogin", ServiceUtil.getUserLogin(dctx, context, jobObj.getString("runAsUser")));
}
+ ExecutionContext executionContext = (ExecutionContext) context.get("executionContext");
+ if (executionContext == null) {
+ executionContext = (ExecutionContext) ExecutionContextFactory.getInstance();
+ context.put("executionContext", executionContext);
+ }
+ GenericDelegator newDelegator = DelegatorFactory.getGenericDelegator(this.delegator.getDelegatorName());
+ executionContext.setDelegator(newDelegator);
+ executionContext.setDispatcher(this.dctx.getDispatcher());
+ executionContext.initializeContext(context);
} catch (GenericEntityException e) {
Debug.logError(e, "PersistedServiceJob.getContext(): Entity Exception", module);
} catch (SerializeException e) {
@@ -302,6 +325,8 @@
Debug.logError(e, "PersistedServiceJob.getContext(): SAXException", module);
} catch (IOException e) {
Debug.logError(e, "PersistedServiceJob.getContext(): IOException", module);
+ } catch (Exception e) {
+ Debug.logError(e, "PersistedServiceJob.getContext(): Exception ", module);
}
if (context == null) {
Debug.logError("Job context is null", module);
Modified: ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=808951&r1=808950&r2=808951&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java Fri Aug 28 16:48:37 2009
@@ -31,6 +31,7 @@
import javolution.util.FastList;
import javolution.util.FastMap;
+import org.ofbiz.api.context.ExecutionContext;
import org.ofbiz.base.util.BshUtil;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.GeneralException;
@@ -352,6 +353,10 @@
if (this.fieldMap != null) {
EntityFinderUtil.expandFieldMapToContext(this.fieldMap, context, serviceContext);
}
+ ExecutionContext executionContext = (ExecutionContext) context.get("executionContext");
+ if (executionContext != null) {
+ serviceContext.put("executionContext", executionContext);
+ }
Map<String, Object> result = this.modelForm.getDispatcher(context).runSync(serviceNameExpanded, serviceContext);
Modified: ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=808951&r1=808950&r2=808951&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java Fri Aug 28 16:48:37 2009
@@ -33,6 +33,8 @@
import javolution.util.FastList;
import javolution.util.FastMap;
+import org.ofbiz.api.context.ExecutionContext;
+import org.ofbiz.api.context.ExecutionContextFactory;
import org.ofbiz.base.util.BshUtil;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.GeneralException;
@@ -482,6 +484,10 @@
if (this.fieldMap != null) {
EntityFinderUtil.expandFieldMapToContext(this.fieldMap, context, serviceContext);
}
+ ExecutionContext executionContext = (ExecutionContext) context.get("executionContext");
+ if (executionContext != null) {
+ serviceContext.put("executionContext", executionContext);
+ }
Map<String, Object> result = this.modelScreen.getDispatcher(context).runSync(serviceNameExpanded, serviceContext);
Modified: ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java?rev=808951&r1=808950&r2=808951&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java Fri Aug 28 16:48:37 2009
@@ -164,7 +164,9 @@
context.put("userLogin", userLogin);
context.put("nowTimestamp", UtilDateTime.nowTimestamp());
try {
- Map<String, Object> result = dispatcher.runSync("getUserPreferenceGroup", UtilMisc.toMap("userLogin", userLogin, "userPrefGroupTypeId", "GLOBAL_PREFERENCES"));
+ Map<String, Object> result = dispatcher.runSync("getUserPreferenceGroup",
+ UtilMisc.toMap("userLogin", userLogin, "userPrefGroupTypeId", "GLOBAL_PREFERENCES",
+ "executionContext", context.get("executionContext")));
context.put("userPreferences", result.get("userPrefMap"));
} catch (GenericServiceException e) {
Debug.logError(e, "Error while getting user preferences: ", module);
@@ -192,11 +194,11 @@
GenericValue userLogin = (GenericValue) session.getAttribute("userLogin");
+ context.put("executionContext", request.getAttribute("executionContext"));
populateBasicContext(context, screens, parameterMap, (GenericDelegator) request.getAttribute("delegator"),
(LocalDispatcher) request.getAttribute("dispatcher"), (Authorization) request.getAttribute("authz"),
(Security) request.getAttribute("security"), UtilHttp.getLocale(request), userLogin);
- context.put("executionContext", request.getAttribute("executionContext"));
context.put("autoUserLogin", session.getAttribute("autoUserLogin"));
context.put("person", session.getAttribute("person"));
context.put("partyGroup", session.getAttribute("partyGroup"));