Calculator Sample | |
================= | |
This sample implements a simple calculator using SCA components. | |
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-calculator.jar calculator.CalculatorClient | |
and on *nix do | |
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-calculator.jar calculator.CalculatorClient | |
Sample Overview | |
--------------- | |
The sample provides a single calculator service with a default SCA (java) | |
binding. The CalculatorClient exercises this interface by calling add, | |
subtract, multiply and divide operations. This results in messages passing to | |
the appropriate components in the composite across the local wires. | |
calculator/ | |
src/ | |
main/ | |
java/ | |
calculator/ | |
CalculatorService.java - the first component, calls +-/* as | |
appropriate | |
CalculatorServiceImpl.java | |
AddService.java - adds two numbers | |
AddServiceImpl.java | |
SubtractService.java - subtracts one number from another | |
SubtractServiceImpl.java | |
MultiplyService.java - multiplies two numbers | |
MultiplyServiceImpl.java | |
DivideService.java - divides one number by another | |
DivideServiceImpl.java | |
CalculatorClient.java - starts the SCA Runtime and | |
deploys the Calculator.composite. | |
It then calls the deployed Calculator | |
Components services | |
resources/ | |
Calculator.composite - the SCA assembly for this sample | |
test/ | |
java/ | |
calculator/ | |
CalculatorTestCase.java - JUnit test case | |
calculator.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 calculator | |
ant compile | |
ant run | |
You should see the following output from the run target. | |
run: | |
[java] 3 + 2=5.0 | |
[java] 3 - 2=1.0 | |
[java] 3 * 2=6.0 | |
[java] 3 / 2=1.5 | |
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 calculator | |
mvn | |
You should see the following output from the test phase. | |
------------------------------------------------------- | |
T E S T S | |
------------------------------------------------------- | |
Running calculator.CalculatorTestCase | |
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.272 sec | |
Results : | |
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 | |
This shows that the Junit test cases have run successfully. |