From bc1bcc9e57a1151773d424dcd3ddf437d7d2a2bc Mon Sep 17 00:00:00 2001 From: nash Date: Sun, 13 Sep 2009 22:38:01 +0000 Subject: Copy r810812, r810816, r810830, r810833 and r810848 changes from 1.5.1 branch to 1.x branch git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@814412 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/composite/SourceImpl.java | 4 ++++ .../src/main/java/composite/TargetImpl.java | 11 +++++++---- .../src/main/resources/META-INF/sca-contribution.xml | 1 - .../src/test/java/composite/CompositeTestCase.java | 13 ++++++------- 4 files changed, 17 insertions(+), 12 deletions(-) (limited to 'branches/sca-java-1.x/samples') diff --git a/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/SourceImpl.java b/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/SourceImpl.java index b9a0c7ff74..72bf552a1e 100644 --- a/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/SourceImpl.java +++ b/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/SourceImpl.java @@ -27,6 +27,7 @@ import org.osoa.sca.annotations.Service; @Scope("COMPOSITE") public class SourceImpl implements Source, SourceCallback { + public static int callbackCount = 0; private Target targetReference; private Target targetReference2; @@ -49,6 +50,9 @@ public class SourceImpl implements Source, SourceCallback { } public void receiveResult(String result) { + synchronized(this) { + callbackCount += 1; + } System.out.println("Work thread " + Thread.currentThread()); System.out.println("Result: " + result); } diff --git a/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/TargetImpl.java b/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/TargetImpl.java index 86686e9233..e744aa7967 100644 --- a/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/TargetImpl.java +++ b/branches/sca-java-1.x/samples/implementation-composite/src/main/java/composite/TargetImpl.java @@ -18,7 +18,9 @@ */ package composite; +import org.osoa.sca.ComponentContext; import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Context; import org.osoa.sca.annotations.Scope; import org.osoa.sca.annotations.Service; @@ -27,15 +29,16 @@ import org.osoa.sca.annotations.Service; @Scope("COMPOSITE") public class TargetImpl implements Target { - private SourceCallback sourceCallback; + private ComponentContext ctx; - @Callback - public void setSourceCallback(SourceCallback sourceCallback) { - this.sourceCallback = sourceCallback; + @Context + public void setContext(ComponentContext context) { + ctx = context; } public void someMethod(String arg) { System.out.println("Target: " + arg); + SourceCallback sourceCallback = (SourceCallback)ctx.getRequestContext().getCallbackReference().getService(); sourceCallback.receiveResult(arg + " -> Target.someMethod"); } } diff --git a/branches/sca-java-1.x/samples/implementation-composite/src/main/resources/META-INF/sca-contribution.xml b/branches/sca-java-1.x/samples/implementation-composite/src/main/resources/META-INF/sca-contribution.xml index e675fd3624..5190f402a8 100644 --- a/branches/sca-java-1.x/samples/implementation-composite/src/main/resources/META-INF/sca-contribution.xml +++ b/branches/sca-java-1.x/samples/implementation-composite/src/main/resources/META-INF/sca-contribution.xml @@ -19,7 +19,6 @@ --> \ No newline at end of file diff --git a/branches/sca-java-1.x/samples/implementation-composite/src/test/java/composite/CompositeTestCase.java b/branches/sca-java-1.x/samples/implementation-composite/src/test/java/composite/CompositeTestCase.java index 9e9a4b44a4..980552ac06 100644 --- a/branches/sca-java-1.x/samples/implementation-composite/src/test/java/composite/CompositeTestCase.java +++ b/branches/sca-java-1.x/samples/implementation-composite/src/test/java/composite/CompositeTestCase.java @@ -39,13 +39,12 @@ public class CompositeTestCase extends TestCase { } public void test() throws Exception { - try { - System.out.println("Main thread " + Thread.currentThread()); - source.clientMethod("Client.main"); - System.out.println("Sleeping ..."); - Thread.sleep(1000); - } catch (Throwable t) { - t.printStackTrace(); + System.out.println("Main thread " + Thread.currentThread()); + source.clientMethod("Client.main"); + System.out.println("Sleeping ..."); + Thread.sleep(1000); + if (SourceImpl.callbackCount != 2) { + throw new IllegalStateException("Expected callbacks not received"); } } } -- cgit v1.2.3