svn commit: r899646 - in /ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context: AbstractExecutionContext.java ExecutionArtifact.java ExecutionContext.java GenericExecutionArtifact.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r899646 - in /ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context: AbstractExecutionContext.java ExecutionArtifact.java ExecutionContext.java GenericExecutionArtifact.java

adrianc
Author: adrianc
Date: Fri Jan 15 14:33:03 2010
New Revision: 899646

URL: http://svn.apache.org/viewvc?rev=899646&view=rev
Log:
Implemented Adam Heath's encapsulation idea.

Modified:
    ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java
    ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionArtifact.java
    ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionContext.java
    ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/GenericExecutionArtifact.java

Modified: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java?rev=899646&r1=899645&r2=899646&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java (original)
+++ ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java Fri Jan 15 14:33:03 2010
@@ -147,6 +147,17 @@
         this.timeZone = TimeZone.getDefault();
     }
 
+    public void runExecutionArtifact(ExecutionArtifact artifact) {
+        pushExecutionArtifact(artifact);
+        try {
+            artifact.run();
+        } catch (Throwable t) {
+            Debug.logError(t, module);
+        } finally {
+            popExecutionArtifact();
+        }
+    }
+
     public void setCurrencyUom(String currencyUom) {
         if (currencyUom != null) {
             this.currencyUom = currencyUom;

Modified: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionArtifact.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionArtifact.java?rev=899646&r1=899645&r2=899646&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionArtifact.java (original)
+++ ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionArtifact.java Fri Jan 15 14:33:03 2010
@@ -37,4 +37,9 @@
      * @return Name of this artifact
      */
     String getName();
+
+    /**
+     * Run this artifact's protected code.
+     */
+    void run();
 }

Modified: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionContext.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionContext.java?rev=899646&r1=899645&r2=899646&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionContext.java (original)
+++ ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionContext.java Fri Jan 15 14:33:03 2010
@@ -140,9 +140,18 @@
      */
     void reset();
 
-    /**
+    /** Run an <code>ExecutionArtifact</code>'s protected code.
+     *
+     *
+     * @param artifact
+     */
+    void runExecutionArtifact(ExecutionArtifact artifact);
+
+     /**
      * Replaces the current <code>AuthorizationManager</code> instance
      * with one that allows unrestricted use of all artifacts.
+     *
+     * @param artifact
      */
     void runUnprotected();
 

Modified: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/GenericExecutionArtifact.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/GenericExecutionArtifact.java?rev=899646&r1=899645&r2=899646&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/GenericExecutionArtifact.java (original)
+++ ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/GenericExecutionArtifact.java Fri Jan 15 14:33:03 2010
@@ -29,15 +29,20 @@
         this.name = name;
     }
 
+    @Override
     public String getLocation() {
         return this.location;
     }
 
+    @Override
     public String getName() {
         return this.name;
     }
 
     @Override
+    public void run() {}
+
+    @Override
     public String toString() {
         return "GenericExecutionArtifact: location = " + this.location + ", name = " + this.name;
     }