Author: jboynes
Date: Tue Jul 25 06:56:30 2006
New Revision: 425396

URL: http://svn.apache.org/viewvc?rev=425396&view=rev
Log:
apply patch from Meeraj for TUSCANY-573

Modified:
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManager.java
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManager.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManager.java?rev=425396&r1=425395&r2=425396&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManager.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManager.java
 Tue Jul 25 06:56:30 2006
@@ -79,11 +79,11 @@
     public WorkItem schedule(Work work, WorkListener workListener) throws 
WorkRejectedException {
 
         DefaultWorkItem workItem = new DefaultWorkItem(new UID().toString(), 
work);
+        if (workListener != null) {
+            workItems.put(workItem, workListener);
+        }
+        workAccepted(workItem, work);
         if (scheduleWork(work, workItem)) {
-            if (workListener != null) {
-                workItems.put(workItem, workListener);
-            }
-            workAccepted(workItem, work);
             return workItem;
         } else {
             workItem.setStatus(WorkEvent.WORK_REJECTED);
@@ -198,7 +198,7 @@
          * Overrides the run method.
          */
         public void run() {
-            workStarted(workItem, decoratedWork);
+                       workStarted(workItem, decoratedWork);
             try {
                 decoratedWork.run();
                 workCompleted(workItem, decoratedWork);

Modified: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java?rev=425396&r1=425395&r2=425396&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/work/jsr237/workmanager/ThreadPoolWorkManagerTestCase.java
 Tue Jul 25 06:56:30 2006
@@ -20,94 +20,94 @@
 public class ThreadPoolWorkManagerTestCase extends TestCase {
 
     public void testSchedule() throws Exception {
-//        final CountDownLatch latch = new CountDownLatch(1);
-//        Work work = createMock(Work.class);
-//        work.run();
-//        expectLastCall().andStubAnswer(new IAnswer() {
-//            public Object answer() throws Throwable {
-//                latch.countDown();
-//                return null;
-//            }
-//        });
-//        replay(work);
-//        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
-//        mgr.schedule(work);
-//        latch.await();
-//        verify(work);
+        final CountDownLatch latch = new CountDownLatch(1);
+        Work work = createMock(Work.class);
+        work.run();
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                latch.countDown();
+                return null;
+            }
+        });
+        replay(work);
+        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
+        mgr.schedule(work);
+        latch.await();
+        verify(work);
     }
 
     public void testListener() throws Exception {
-//        final CountDownLatch latch = new CountDownLatch(1);
-//        WorkListener listener = createStrictMock(WorkListener.class);
-//        listener.workAccepted(isA(WorkEvent.class));
-//        listener.workStarted(isA(WorkEvent.class));
-//        listener.workCompleted(isA(WorkEvent.class));
-//        expectLastCall();
-//        replay(listener);
-//        Work work = createMock(Work.class);
-//        work.run();
-//        expectLastCall().andStubAnswer(new IAnswer() {
-//            public Object answer() throws Throwable {
-//                latch.countDown();
-//                return null;
-//            }
-//        });
-//        replay(work);
-//        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
-//        mgr.schedule(work, listener);
-//        latch.await();
-//        verify(work);
+        final CountDownLatch latch = new CountDownLatch(1);
+        WorkListener listener = createStrictMock(WorkListener.class);
+        listener.workAccepted(isA(WorkEvent.class));
+        listener.workStarted(isA(WorkEvent.class));
+        listener.workCompleted(isA(WorkEvent.class));
+        expectLastCall();
+        replay(listener);
+        Work work = createMock(Work.class);
+        work.run();
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                latch.countDown();
+                return null;
+            }
+        });
+        replay(work);
+        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
+        mgr.schedule(work, listener);
+        latch.await();
+        verify(work);
     }
 
     public void testDelayListener() throws Exception {
-//        final CountDownLatch latch = new CountDownLatch(1);
-//        final CountDownLatch latch2 = new CountDownLatch(1);
-//        WorkListener listener = createStrictMock(WorkListener.class);
-//        listener.workAccepted(isA(WorkEvent.class));
-//        listener.workStarted(isA(WorkEvent.class));
-//        listener.workCompleted(isA(WorkEvent.class));
-//        expectLastCall().andStubAnswer(new IAnswer() {
-//            public Object answer() throws Throwable {
-//                latch2.countDown();
-//                return null;
-//            }
-//        });
-//        replay(listener);
-//        Work work = createMock(Work.class);
-//        work.run();
-//        expectLastCall().andStubAnswer(new IAnswer() {
-//            public Object answer() throws Throwable {
-//                latch.await();
-//                return null;
-//            }
-//        });
-//        replay(work);
-//        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
-//        mgr.schedule(work, listener);
-//        latch.countDown();
-//        verify(work);
+        final CountDownLatch latch = new CountDownLatch(1);
+        final CountDownLatch latch2 = new CountDownLatch(1);
+        WorkListener listener = createStrictMock(WorkListener.class);
+        listener.workAccepted(isA(WorkEvent.class));
+        listener.workStarted(isA(WorkEvent.class));
+        listener.workCompleted(isA(WorkEvent.class));
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                latch2.countDown();
+                return null;
+            }
+        });
+        replay(listener);
+        Work work = createMock(Work.class);
+        work.run();
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                latch.await();
+                return null;
+            }
+        });
+        replay(work);
+        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
+        mgr.schedule(work, listener);
+        latch.countDown();
+        verify(work);
     }
 
     public void testErrorListener() throws Exception {
-//        final CountDownLatch latch = new CountDownLatch(1);
-//        WorkListener listener = createStrictMock(WorkListener.class);
-//        listener.workAccepted(isA(WorkEvent.class));
-//        listener.workStarted(isA(WorkEvent.class));
-//        listener.workCompleted(isA(WorkEvent.class));
-//        replay(listener);
-//        Work work = createMock(Work.class);
-//        work.run();
-//        expectLastCall().andStubAnswer(new IAnswer() {
-//            public Object answer() throws Throwable {
-//                latch.countDown();
-//                throw new RuntimeException();
-//            }
-//        });
-//        replay(work);
-//        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
-//        mgr.schedule(work, listener);
-//        latch.await();
-//        verify(work);
+        final CountDownLatch latch = new CountDownLatch(1);
+        WorkListener listener = createStrictMock(WorkListener.class);
+        listener.workAccepted(isA(WorkEvent.class));
+        listener.workStarted(isA(WorkEvent.class));
+        listener.workCompleted(isA(WorkEvent.class));
+        replay(listener);
+        Work work = createMock(Work.class);
+        work.run();
+        expectLastCall().andStubAnswer(new IAnswer() {
+            public Object answer() throws Throwable {
+                latch.countDown();
+                throw new RuntimeException();
+            }
+        });
+        replay(work);
+        ThreadPoolWorkManager mgr = new ThreadPoolWorkManager(1);
+        mgr.schedule(work, listener);
+        latch.await();
+        verify(work);
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to