Author: jonesde
Date: Tue Sep 18 03:04:50 2007
New Revision: 576815
URL: http://svn.apache.org/viewvc?rev=576815&view=rev
Log:
Added global-commit-post-run event that gets a context after the service and
eca rules run
Modified:
ofbiz/trunk/framework/service/dtd/service-eca.xsd
ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaAction.java
Modified: ofbiz/trunk/framework/service/dtd/service-eca.xsd
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/dtd/service-eca.xsd?rev=576815&r1=576814&r2=576815&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/dtd/service-eca.xsd (original)
+++ ofbiz/trunk/framework/service/dtd/service-eca.xsd Tue Sep 18 03:04:50 2007
@@ -46,8 +46,9 @@
<xs:attribute name="event" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
- <xs:enumeration value="global-commit"/>
- <xs:enumeration value="global-rollback"/>
+ <xs:enumeration
value="global-commit"><xs:annotation><xs:documentation>Runs when the
transaction the service is running in is successfully
committed.</xs:documentation></xs:annotation></xs:enumeration>
+ <xs:enumeration
value="global-commit-post-run"><xs:annotation><xs:documentation>Like
global-commit, but gets its context post/after the run of the service and all
non-global ECA rules.</xs:documentation></xs:annotation></xs:enumeration>
+ <xs:enumeration
value="global-rollback"><xs:annotation><xs:documentation>Runs when the
transaction the service is running in is rolled
back.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="auth"/>
<xs:enumeration value="in-validate"/>
<xs:enumeration value="out-validate"/>
Modified:
ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java?rev=576815&r1=576814&r2=576815&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
(original)
+++ ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
Tue Sep 18 03:04:50 2007
@@ -472,6 +472,9 @@
isFailure = ServiceUtil.isFailure(result);
isError = ServiceUtil.isError(result);
+ // global-commit-post-run ECA, like global-commit but gets the
context after the service is run
+ if (eventMap != null)
ServiceEcaUtil.evalRules(modelService.name, eventMap, "global-commit-post-run",
ctx, ecaContext, result, isError, isFailure);
+
// check for failure and log on info level; this is used for
debugging
if (isFailure) {
Debug.logWarning("Service Failure [" + modelService.name +
"]: " + ServiceUtil.getErrorMessage(result), module);
Modified:
ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaAction.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaAction.java?rev=576815&r1=576814&r2=576815&view=diff
==============================================================================
---
ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaAction.java
(original)
+++
ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaAction.java
Tue Sep 18 03:04:50 2007
@@ -89,6 +89,8 @@
xaw.setRollbackService(serviceName, context,
"async".equals(serviceMode), persist); // using the actual context so we get
updates
} else if (eventName.equals("global-commit")) {
xaw.setCommitService(serviceName, context,
"async".equals(serviceMode), persist); // using the actual context so we get
updates
+ } else if (eventName.equals("global-commit-post-run")) {
+ xaw.setCommitService(serviceName, context,
"async".equals(serviceMode), persist); // using the actual context so we get
updates
}
try {
xaw.enlist();