diff options
Diffstat (limited to 'sca-java-1.x')
3 files changed, 107 insertions, 11 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README b/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README index 3b201779e1..9c11fa08ea 100644 --- a/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README +++ b/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README @@ -7,6 +7,28 @@ 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-pojo-extension.jar;target\test-classes helloworld.HelloWorldTestClient + +and on *nix do + +java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-implementation-pojo-extension.jar:target/test-classes helloworld.HelloWorldTestClient + +This looks like a long command. The three things we add to the classpath are + +tuscany-sca-manifest.jar - all of the standard Tuscany SCA + runtime and extension classes +sample-implementation-pojo-extension.jar - the new POJO implementation + extension +target.test-classes - application code that uses the + POJO implementation + Sample Overview --------------- This sample contains a POJO implementation type as an example of how to create @@ -26,6 +48,7 @@ implementation-pojo-extension/ java/ helloworld/ HelloWorldTestCase.java - JUnit test case + HelloWorldTestClient.java - Test client with no JUnit dependency resources/ helloworld.composite - the SCA assembly used during unit testing @@ -34,11 +57,22 @@ implementation-pojo-extension/ Building The Sample Extension Using Ant ----------------------------------------- -With the binary distribution the sample extension can be built using Ant as -follows +With the binary distribution the sample extension can be built and run +using Ant as follows cd implementation-pojo-extension ant compile +ant run + +You should see the following output from the run target. + +run: + [java] Initializing POJO + [java] Initializing POJO + [java] Executing POJO sayHello + [java] Executing POJO sayHello + [java] Destroying POJO + [java] Destroying POJO Building The Sample Using Maven ------------------------------------------- diff --git a/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml b/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml index 78bae79859..9f4869cfa1 100644 --- a/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml +++ b/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml @@ -17,10 +17,10 @@ * under the License. --> <project name="implementation-pojo-extension" default="compile"> - <property name="test.jar" value="sample-implementation-pojo-extension.jar" /> <target name="init"> <mkdir dir="target/classes"/> + <mkdir dir="target/test-classes"/> </target> <target name="compile" depends="init"> @@ -36,16 +36,38 @@ <copy todir="target/classes"> <fileset dir="src/main/resources"/> </copy> - <jar destfile="target/${test.jar}" basedir="target/classes"> - <manifest> - <attribute name="Main-Class" value="${test.class}" /> - </manifest> - </jar> + <javac srcdir="src/test/java" + destdir="target/test-classes" + excludes="**/*TestCase.java" + debug="on" + source="1.5" + target="1.5"> + <classpath> + <pathelement location="target/classes"/> + <pathelement location="../../lib/tuscany-sca-manifest.jar"/> + </classpath> + </javac> + <copy todir="target/test-classes"> + <fileset dir="src/test/resources"/> + </copy> + <jar destfile="target/sample-implementation-pojo-extension.jar" basedir="target/classes"/> </target> + + <target name="package" depends="compile"/> + + <target name="run"> + <java classname="helloworld.HelloWorldTestClient" fork="true"> + <classpath> + <pathelement location="target/test-classes"/> + <pathelement location="target/sample-implementation-pojo-extension.jar"/> + <pathelement location="../../lib/tuscany-sca-manifest.jar"/> + </classpath> + <jvmarg value="-ea"/> + </java> + </target> <target name="clean"> - <delete quiet="true" includeemptydirs="true"> - <fileset dir="target"/> - </delete> + <delete dir="target" includeemptydirs="true"/> </target> + </project> diff --git a/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java b/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java new file mode 100644 index 0000000000..c157dadb66 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java @@ -0,0 +1,40 @@ +/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package helloworld;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * Tests the POJO implementation extension.
+ */
+public class HelloWorldTestClient {
+
+ public static void main(String[] args) throws Exception {
+
+ SCADomain scaDomain = SCADomain.newInstance("helloworld/helloworld.composite");
+
+ HelloWorld helloworld = scaDomain.getService(HelloWorld.class, "HelloWorldComponent");
+ assert "Hello petra".equals(helloworld.sayHello("petra"));
+
+ helloworld = scaDomain.getService(HelloWorld.class, "HelloWorldComponent2/HelloWorld2");
+ assert "Hello petra".equals(helloworld.sayHello("petra"));
+
+ scaDomain.close();
+ }
+}
|