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(); |
Free forum by Nabble | Edit this page |