summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-1.x')
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README38
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml40
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java40
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();
+ }
+}