You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by na...@apache.org on 2010/09/23 22:42:42 UTC

svn commit: r1000615 - in /tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension: README build.xml src/test/java/helloworld/HelloWorldTestClient.java

Author: nash
Date: Thu Sep 23 20:42:41 2010
New Revision: 1000615

URL: http://svn.apache.org/viewvc?rev=1000615&view=rev
Log:
TUSCANY-3685: Add a test client that doesn't use JUnit and update the build.xml and README files

Added:
    tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java
Modified:
    tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README
    tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml

Modified: tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README?rev=1000615&r1=1000614&r2=1000615&view=diff
==============================================================================
--- tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README (original)
+++ tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/README Thu Sep 23 20:42:41 2010
@@ -7,6 +7,28 @@ The README in the samples directory (the
 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 
 -------------------------------------------

Modified: tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml?rev=1000615&r1=1000614&r2=1000615&view=diff
==============================================================================
--- tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml (original)
+++ tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/build.xml Thu Sep 23 20:42:41 2010
@@ -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>

Added: tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java?rev=1000615&view=auto
==============================================================================
--- tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java (added)
+++ tuscany/sca-java-1.x/branches/sca-java-1.6.1/samples/implementation-pojo-extension/src/test/java/helloworld/HelloWorldTestClient.java Thu Sep 23 20:42:41 2010
@@ -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();
+    }
+}