summaryrefslogtreecommitdiffstats
path: root/java/sca/samples/implementation-crud/README
blob: 50da631c0406d3064abe30873a40e6328dae3436 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
Implementation CRUD Sample Client
=================================
This sample demonstrates how to use the new implementation extension, 
implementation-crud-extension.

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;..\implementation-crud-extension\target\sample-implementation-crud-extension.jar;target\sample-implementation-crud.jar crud.client.CRUDClient

and on *nix do

java -cp ../../lib/tuscany-sca-manifest.jar:../implementation-crud-extension/target/sample-implementation-crud-extension.jar:target/sample-implementation-crud.jar crud.client.CRUDClient

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-crud-extension.jar - the new crud implementation
                                           extension 
sample-implementation-crud.jar           - the application that uses the crud
                                           implementation  

Sample Overview
---------------
This sample contains a client application for a CRUD implementation type that
shows how to create new implementation types. See the README for the
mplementation-crud-extension sample for details of this implementation type.

implementation-crud/
  src/
    main/
      java/
        crud/
          client/
            CRUDClient.java    - sample client
      resources/
        crud.composite         - the SCA assembly used by this sample
          
    test/
      java/
        crud/
          client/
            CRUDTestCase.java  - sample JUnit test case for the sample client
          
  implementation-crud.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-crud
ant compile
ant run

You should see the following output from the run target.

run:
     [java] Starting CRUDServiceComponent
     [java] create(ABC) in tmp
     [java] retrieve(0)
     [java] Result from create: ABC
     [java] update(0)
     [java] retrieve(0)
     [java] Result from update: EFG
     [java] delete(0)
     [java] retrieve(0)
     [java] Result from delete: null
     [java] Stopping CRUDServiceComponent


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-crud
mvn

You should see the following output from the test phase.

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running crud.client.CRUDTestCase
Starting CRUDServiceComponent
create(ABC) in tmp
retrieve(0)
update(0)
retrieve(0)
delete(0)
retrieve(0)
Stopping CRUDServiceComponent
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.641 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

This shows that the Junit test cases have run successfully.