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;
     }


Reply via email to