summaryrefslogtreecommitdiffstats
path: root/java/sca/samples/implementation-composite/README
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/samples/implementation-composite/README')
-rw-r--r--java/sca/samples/implementation-composite/README116
1 files changed, 116 insertions, 0 deletions
diff --git a/java/sca/samples/implementation-composite/README b/java/sca/samples/implementation-composite/README
new file mode 100644
index 0000000000..27de00e8ef
--- /dev/null
+++ b/java/sca/samples/implementation-composite/README
@@ -0,0 +1,116 @@
+Composite Implementation Sample
+===============================
+
+This sample shows how composites can be used to implement components.
+
+The README in the samples directory (the directory above this) provides
+general instructions about building and running samples. Take a look there
+first.
+
+If you just want to run it to see what happens open a command prompt, navigate
+to this sample directory and do:
+
+ant run
+
+OR if you don't have ant, on Windows do
+
+java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-implementation-composite.jar composite.CompositeClient
+
+and on *nix do
+
+java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-implementation-composite.jar composite.CompositeClient
+
+
+Sample Overview
+---------------
+
+The sample is comprised of three composites. Take a look at the composite file
+or the .svg/.png file which shows the composite file in pictorial form. The
+OuterComposite defines three components two of which are implemented using
+composites. The SourceComponent calls each TargetComponent in turn. There is a
+callback which returns from each TargetComponent to the SourceComponent.
+
+implementation-composite/
+ src/
+ main/
+ java/
+ composite/
+ Source.java - interface for the source component
+ SourceImpl.java - implementation for the source component
+ SourceCallback.java - source component callback interface
+ Target.java - interface for the target component
+ TargetImpl.java - implementation for the target component
+ CompositeClient.java - starts the SCA Runtime and
+ deploys the OuterComposite.composite.
+ This in turn pulls in the two inner
+ composites
+ resources/
+ META-INF/
+ sca-contribution.xml - specifies the composite to be deployed
+ OuterComposite.composite - the top level SCA assembly for this sample
+ InnerComposite.composite - included by OuterComposite.composite
+ InnerComposite2.composite - included by OuterComposite.composite
+ test/
+ java/
+ composite/
+ CompositeTestCase.java - JUnit test case
+ implementation-composite.png - a pictorial representation of the sample
+ .composite file
+ build.xml - the Ant build file
+ pom.xml - the Maven build file
+
+Building And Running The Sample Using Ant
+-----------------------------------------
+With the binary distribution the sample can be built and run using Ant as
+follows
+
+cd implementation-composite
+ant compile
+ant run
+
+You should see the following output from the run target.
+
+run:
+ [java] Main thread Thread[main,5,main]
+ [java] Source: Client.main -> Source.clientMethod
+ [java] Source: Client.main => Source.clientMethod2
+ [java] Sleeping ...
+ [java] Target: Client.main -> Source.clientMethod
+ [java] Work thread Thread[pool-1-thread-1,5,main]
+ [java] Result: Client.main -> Source.clientMethod -> Target.someMethod
+ [java] Target: Client.main => Source.clientMethod2
+ [java] Work thread Thread[pool-1-thread-2,5,main]
+ [java] Result: Client.main => Source.clientMethod2 -> Target.someMethod
+
+
+Building And Running The Sample Using Maven
+-------------------------------------------
+With either the binary or source distributions the sample can be built and run
+using Maven as follows.
+
+cd implementation-composite
+mvn
+
+You should see the following output from the test phase.
+
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running composite.CompositeTestCase
+Main thread Thread[main,5,main]
+Source: Client.main -> Source.clientMethod
+Source: Client.main => Source.clientMethod2
+Sleeping ...
+Target: Client.main => Source.clientMethod2
+Work thread Thread[pool-1-thread-2,5,main]
+Result: Client.main => Source.clientMethod2 -> Target.someMethod
+Target: Client.main -> Source.clientMethod
+Work thread Thread[pool-1-thread-1,5,main]
+Result: Client.main -> Source.clientMethod -> Target.someMethod
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.973 sec
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+
+This shows that the Junit test cases have run successfully.