blob: 9c11fa08ea2cb2290363ae4fe1a8d5483710fff9 [file] [log] [blame]
Implementation POJO Sample
==========================
This sample demonstrates how new implementation types are constructed for
Apache Tuscany SCA.
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
new implementation types.
implementation-pojo-extension/
src/
main/
java/
pojo/ - implementation model interfaces
impl/ - implementations of the model interfaces
provider/ - runtime implementation
resources/
META-INF/
services/ - declares the extension
test/
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
build.xml - the Ant build file
pom.xml - the Maven build file
Building The Sample Extension Using Ant
-----------------------------------------
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
-------------------------------------------
With either the binary or source distributions the sample can be built
using Maven as follows.
cd implementation-pojo-extension
mvn
Maven will also test that the sample extension built properly. You should see
the following output from the test phase.
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running helloworld.HelloWorldTestCase
Initializing POJO
Initializing POJO
Executing POJO sayHello
Initializing POJO
Initializing POJO
Executing POJO sayHello
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.616 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
This shows that the Junit test cases have run successfully.