Author: antelder
Date: Thu Aug  7 01:47:00 2008
New Revision: 683554

URL: http://svn.apache.org/viewvc?rev=683554&view=rev
Log:
Apply patch from Ramkumar Ramalingam for TUSCANY-2520: Extending Spring Sample 
with SCA RMI binding

Added:
    tuscany/java/sca/samples/spring-bigbank-calculator/   (with props)
    tuscany/java/sca/samples/spring-bigbank-calculator/README
    tuscany/java/sca/samples/spring-bigbank-calculator/build.xml
    tuscany/java/sca/samples/spring-bigbank-calculator/pom.xml
    tuscany/java/sca/samples/spring-bigbank-calculator/src/
    tuscany/java/sca/samples/spring-bigbank-calculator/src/main/
    tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/
    tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/AddService.java
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorService.java
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorServiceImpl.java
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/DivideService.java
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/MultiplyService.java
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/SubtractService.java
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/server/
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/server/CalculatorServer.java
    tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/Calculator.composite
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/META-INF/
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/META-INF/spring/
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/META-INF/spring/CalculatorService-context.xml
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py
    
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb
    tuscany/java/sca/samples/spring-bigbank-calculator/src/test/

Propchange: tuscany/java/sca/samples/spring-bigbank-calculator/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Aug  7 01:47:00 2008
@@ -0,0 +1,19 @@
+target
+work
+dojo
+*.iws
+*.ipr
+*.iml
+derby.log
+maven.log
+build.xml
+build-dependency.xml
+velocity.log*
+junit*.properties
+surefire*.properties
+.project
+.classpath
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders

Added: tuscany/java/sca/samples/spring-bigbank-calculator/README
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/README?rev=683554&view=auto
==============================================================================
--- tuscany/java/sca/samples/spring-bigbank-calculator/README (added)
+++ tuscany/java/sca/samples/spring-bigbank-calculator/README Thu Aug  7 
01:47:00 2008
@@ -0,0 +1,2 @@
+Spring-bigbank-calculator is part of a spring-bigbank sample. 
+Please see the Readme file under spring-bigbank to understand how 
spring-bigbank-calculator fits into the overall picture.

Added: tuscany/java/sca/samples/spring-bigbank-calculator/build.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/build.xml?rev=683554&view=auto
==============================================================================
--- tuscany/java/sca/samples/spring-bigbank-calculator/build.xml (added)
+++ tuscany/java/sca/samples/spring-bigbank-calculator/build.xml Thu Aug  7 
01:47:00 2008
@@ -0,0 +1,72 @@
+<!--
+ * 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.    
+-->
+<project name="spring-bigbank-calculator" default="run">
+    <property name="test.class" 
value="bigbank.calculator.server.CalculatorServer" />
+    <property name="test.jar"   value="sample-spring-bigbank-calculator.jar" />
+       
+    <target name="init">
+        <mkdir dir="target/classes"/>
+    </target>
+       
+    <target name="compile" depends="init">
+        <javac srcdir="src/main/java"
+               destdir="target/classes"
+               debug="on"
+               source="1.5"
+               target="1.5">
+            <classpath>
+               <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </javac> 
+        <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>         
+    </target>  
+       
+    <target name="run-classes">
+        <java classname="${test.class}"
+              fork="true">
+            <classpath>
+                <pathelement path="target/classes"/>
+               <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </java>
+    </target>
+       
+    <target name="run">
+        <java classname="${test.class}"
+              fork="true">
+            <classpath>
+                <pathelement path="target/${test.jar}"/>
+               <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+            </classpath>
+        </java>        
+    </target>
+       
+    <target name="clean">
+        <delete quiet="true" includeemptydirs="true">
+            <fileset dir="target"/>
+        </delete>
+    </target>
+</project>
\ No newline at end of file

Added: tuscany/java/sca/samples/spring-bigbank-calculator/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/pom.xml?rev=683554&view=auto
==============================================================================
--- tuscany/java/sca/samples/spring-bigbank-calculator/pom.xml (added)
+++ tuscany/java/sca/samples/spring-bigbank-calculator/pom.xml Thu Aug  7 
01:47:00 2008
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * 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.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-sca</artifactId>
+        <version>1.4-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    <artifactId>sample-spring-bigbank-calculator</artifactId>
+    <name>Apache Tuscany SCA Spring-Based BigBank Calculator Sample</name>
+
+    <repositories>
+       <repository>
+          <id>apache.incubator</id>
+          <url>http://people.apache.org/repo/m2-incubating-repository</url>
+       </repository>
+    </repositories>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-embedded</artifactId>
+            <version>1.4-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-script</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-spring</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-rmi</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.2</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
+</project>

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/AddService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/AddService.java?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/AddService.java
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/AddService.java
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,25 @@
+/*
+ * 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 bigbank.calculator;
+
+public interface AddService {
+
+    double add(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorService.java?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorService.java
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorService.java
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,34 @@
+/*
+ * 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 bigbank.calculator;
+
+/**
+ * The Calculator service interface.
+ */
+public interface CalculatorService {
+
+    double add(double n1, double n2);
+
+    double subtract(double n1, double n2);
+
+    double multiply(double n1, double n2);
+
+    double divide(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorServiceImpl.java?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorServiceImpl.java
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/CalculatorServiceImpl.java
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,72 @@
+/*
+ * 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 bigbank.calculator;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+/**
+ * An implementation of the Calculator service.
+ */
[EMAIL PROTECTED](CalculatorService.class)
+public class CalculatorServiceImpl implements CalculatorService {
+
+    private AddService addService;
+    private SubtractService subtractService;
+    private MultiplyService multiplyService;
+    private DivideService divideService;
+
+    @Reference
+    public void setAddService(AddService addService) {
+        this.addService = addService;
+    }
+
+    @Reference
+    public void setSubtractService(SubtractService subtractService) {
+        this.subtractService = subtractService;
+    }
+
+    @Reference
+    public void setDivideService(DivideService divideService) {
+        this.divideService = divideService;
+    }
+
+    @Reference
+    public void setMultiplyService(MultiplyService multiplyService) {
+        this.multiplyService = multiplyService;
+    }
+
+    public double add(double n1, double n2) {
+        return addService.add(n1, n2);
+    }
+
+    public double subtract(double n1, double n2) {
+        return subtractService.subtract(n1, n2);
+    }
+
+    public double multiply(double n1, double n2) {
+        System.err.println("Multiply");
+        return multiplyService.multiply(n1, n2);
+    }
+
+    public double divide(double n1, double n2) {
+        return divideService.divide(n1, n2);
+    }
+
+}

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/DivideService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/DivideService.java?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/DivideService.java
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/DivideService.java
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,25 @@
+/*
+ * 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 bigbank.calculator;
+
+public interface DivideService {
+
+    double divide(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/MultiplyService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/MultiplyService.java?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/MultiplyService.java
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/MultiplyService.java
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,25 @@
+/*
+ * 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 bigbank.calculator;
+
+public interface MultiplyService {
+
+    double multiply(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/SubtractService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/SubtractService.java?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/SubtractService.java
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/SubtractService.java
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,25 @@
+/*
+ * 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 bigbank.calculator;
+
+public interface SubtractService {
+
+    double subtract(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/server/CalculatorServer.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/server/CalculatorServer.java?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/server/CalculatorServer.java
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/java/bigbank/calculator/server/CalculatorServer.java
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,41 @@
+/*
+ * 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 bigbank.calculator.server;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+public class CalculatorServer {
+
+    public static void main(String[] args) throws Exception {
+
+        System.out.println("Starting the Sample SCA Calculator...");
+
+        SCADomain domain = SCADomain.newInstance("Calculator.composite");
+
+        System.out.println("Press Enter to Exit...");
+        System.in.read();
+
+        domain.close();
+
+        System.out.println("Bye");
+        System.exit(0);
+    }
+
+}

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/Calculator.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/Calculator.composite?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/Calculator.composite
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/Calculator.composite
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
+       xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0";
+       targetNamespace="http://calc";
+       xmlns:c="http://calc";
+       name="Calculator">
+       
+       <service name="CalculatorService" promote="CalculatorServiceComponent">
+           <interface.java interface="bigbank.calculator.CalculatorService"/>
+        <tuscany:binding.rmi host="localhost" port="8099" 
serviceName="CalculatorRMIService"/>
+    </service>
+
+    <component name="CalculatorServiceComponent">
+               <implementation.spring 
location="META-INF/spring/CalculatorService-context.xml"/> 
+
+        <reference name="addService" target="AddServiceComponent" />
+        <reference name="subtractService" target="SubtractServiceComponent" />
+        <reference name="multiplyService" target="MultiplyServiceComponent" />
+        <reference name="divideService" target="DivideServiceComponent" />
+    </component>
+
+    <component name="AddServiceComponent">
+        <tuscany:implementation.script script="calculator/AddServiceImpl.js"/>
+    </component>
+
+    <component name="SubtractServiceComponent">
+        <tuscany:implementation.script 
script="calculator/SubtractServiceImpl.rb"/>
+    </component>
+
+    <component name="MultiplyServiceComponent">
+        <tuscany:implementation.script 
script="calculator/MultiplyServiceImpl.py"/>
+    </component>
+
+    <component name="DivideServiceComponent">
+        <tuscany:implementation.script 
script="calculator/DivideServiceImpl.groovy"/>
+    </component>
+
+</composite>

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/META-INF/spring/CalculatorService-context.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/META-INF/spring/CalculatorService-context.xml?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/META-INF/spring/CalculatorService-context.xml
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/META-INF/spring/CalculatorService-context.xml
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.    
+-->
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns:sca="http://www.springframework.org/schema/sca";
+       xsi:schemaLocation="
+       http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://www.springframework.org/schema/sca 
http://www.springframework.org/schema/sca/spring-sca.xsd";>
+
+    <sca:service name="CalculatorService"
+        type="bigbank.calculator.CalculatorService" 
target="CalculatorServiceBean"/>
+
+    <bean id="CalculatorServiceBean" 
class="bigbank.calculator.CalculatorServiceImpl">
+        <!-- Here are some implicit references - a property with a ref not 
satisifed within the
+         * Spring application context.
+         -->
+        <property name="addService" ref="addService"/>
+        <property name="subtractService" ref="subtractService"/>
+        <property name="multiplyService" ref="multiplyService"/>
+        <property name="divideService" ref="divideService"/>
+    </bean>
+
+    <sca:reference name="addService" type="bigbank.calculator.AddService"/>    
+    <sca:reference name="subtractService" 
type="bigbank.calculator.SubtractService"/>    
+    <sca:reference name="multiplyService" 
type="bigbank.calculator.MultiplyService"/>    
+    <sca:reference name="divideService" 
type="bigbank.calculator.DivideService"/>
+
+</beans>

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/AddServiceImpl.js
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,22 @@
+/*
+ * 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.    
+ */
+
+function add(n1, n2) {
+   return n1 + n2;
+}
\ No newline at end of file

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/DivideServiceImpl.groovy
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,22 @@
+/*
+ * 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.    
+ */
+ 
+def divide(n1, n2) {
+   return n1 / n2
+}
\ No newline at end of file

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/MultiplyServiceImpl.py
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,21 @@
+# 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.
+#
+ 
+def multiply(n1, n2):
+   print "Python Calculator component: multiply(", n1, ",", n2, ")"
+   return n1 * n2
\ No newline at end of file

Added: 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb?rev=683554&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb
 (added)
+++ 
tuscany/java/sca/samples/spring-bigbank-calculator/src/main/resources/calculator/SubtractServiceImpl.rb
 Thu Aug  7 01:47:00 2008
@@ -0,0 +1,22 @@
+# 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.
+#
+ 
+def subtract(n1, n2)
+    print "Ruby Calculator subtract(", n1, ",", n2, ")\n"
+    return n1 - n2
+end
\ No newline at end of file


Reply via email to