You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2008/12/30 22:54:53 UTC

svn commit: r730258 - in /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal: InvokableToRunnable.java OperationTrackerImpl.java

Author: hlship
Date: Tue Dec 30 13:54:53 2008
New Revision: 730258

URL: http://svn.apache.org/viewvc?rev=730258&view=rev
Log:
Change OperationTracker to optimize for invoke() rather than for run().

Removed:
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/InvokableToRunnable.java
Modified:
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java?rev=730258&r1=730257&r2=730258&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/OperationTrackerImpl.java Tue Dec 30 13:54:53 2008
@@ -45,11 +45,27 @@
         Defense.notBlank(description, "description");
         Defense.notNull(operation, "operation");
 
+        invoke(description, new Invokable<Void>()
+        {
+            public Void invoke()
+            {
+                operation.run();
+
+                return null;
+            }
+        });
+    }
+
+    public <T> T invoke(String description, Invokable<T> operation)
+    {
+        Defense.notBlank(description, "description");
+        Defense.notNull(operation, "operation");
+
         operations.push(description);
 
         try
         {
-            operation.run();
+            return operation.invoke();
         }
         catch (RuntimeException ex)
         {
@@ -86,17 +102,5 @@
         }
     }
 
-    public <T> T invoke(String description, Invokable<T> operation)
-    {
-        Defense.notBlank(description, "description");
-        Defense.notNull(operation, "operation");
-
-        InvokableToRunnable<T> i2r = new InvokableToRunnable<T>(operation);
-
-        run(description, i2r);
-
-        return i2r.getResult();
-    }
-
     boolean isEmpty() { return operations.isEmpty(); }
 }