Author: wjaniszewski
Date: Wed Oct 15 14:48:14 2008
New Revision: 705066

URL: http://svn.apache.org/viewvc?rev=705066&view=rev
Log:
Reference CORBA binding calculator sample

Added:
    tuscany/java/sca/samples/calculator-corba-reference/
    tuscany/java/sca/samples/calculator-corba-reference/README
    tuscany/java/sca/samples/calculator-corba-reference/pom.xml
    tuscany/java/sca/samples/calculator-corba-reference/src/
    tuscany/java/sca/samples/calculator-corba-reference/src/main/
    tuscany/java/sca/samples/calculator-corba-reference/src/main/java/
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/AddService.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorClient.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorService.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorServiceImpl.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/DivideService.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/MultiplyService.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/SubtractService.java
    tuscany/java/sca/samples/calculator-corba-reference/src/main/resources/
    
tuscany/java/sca/samples/calculator-corba-reference/src/main/resources/CalculatorCORBAReference.composite
    tuscany/java/sca/samples/calculator-corba-reference/src/test/
    tuscany/java/sca/samples/calculator-corba-reference/src/test/java/
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAReferenceTestCase.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAServant.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAService.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAServiceOperations.java
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/_CalculatorCORBAServiceImplBase.java
    tuscany/java/sca/samples/calculator-corba-reference/src/test/resources/
    
tuscany/java/sca/samples/calculator-corba-reference/src/test/resources/CalculatorCORBA.idl

Added: tuscany/java/sca/samples/calculator-corba-reference/README
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/README?rev=705066&view=auto
==============================================================================
--- tuscany/java/sca/samples/calculator-corba-reference/README (added)
+++ tuscany/java/sca/samples/calculator-corba-reference/README Wed Oct 15 
14:48:14 2008
@@ -0,0 +1,83 @@
+Calculator CORBA Reference Sample
+===============================
+
+This sample illustrates the use of Tuscany CORBA Binding to call reference 
+services that are hosted as CORBA services.  
+
+The README in the samples directory (the directory above this) provides 
+general instructions about building and running samples. Take a look there 
+first. 
+
+
+Sample Overview
+---------------
+This sample extends the calculator sample by replacing the local wired 
+connections with CORBA bindings. Instead of local add, subtract, multiply and 
+divide components, an CORBA service implementation now provides the
+add, subtract, multiply and divide interfaces and is hosted as an CORBA 
object. 
+References specified in the .composite file include a CORBA binding which 
targets
+this CORBA object. Name service which is used in CORBA communication is 
provided 
+in test case class - CalculatorCORBAReferenceTestCase.java.
+
+This sample adds a number of classes to the basic calculator sample:
+
+calculator-corba-reference/
+  src/
+    main/
+      java/
+        calculator/
+          CalculatorService.java  - as calculator sample
+          AddService.java         - as calculator sample
+          SubtractService.java    - as calculator sample
+          MultipleService.java    - as calculator sample
+          DivideService.java      - as calculator sample
+          CalculatorClient.java   - as calculator sample
+          CalculatorServiceImpl.java - calls the CORBA service
+                                    that provides the target for the 
+                                    CORBA bindings in the composite 
+      resources/
+        CalculatorCORBAReference.composite - the SCA assembly for this sample
+    test/
+      java/
+        calculator/
+          CalculatorCORBAReferenceTestCase.java - JUnit test case
+          CalculatorCORBAServant.java - CORBA service implementation
+          idl/                        - contains files generated 
+                                        from  IDL file. Files are 
+                                        used to create  CORBA object which
+                                        will be consumed by SCA reference.
+            _CalculatorCORBAServiceImplBase.java
+            CalculatorCORBAService.java
+            CalculatorCORBAServiceOperations.java
+      resources/
+        CalculatorCORBA.idl      - IDL description for CORBA object
+  pom.xml                         - the Maven build file   
+  
+Note. As this test creates and uses local network connections you may need to 
+configure your firewall, if you are running one, to allow the test to run
+successfully.         
+
+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-corba-reference
+mvn
+
+You should see the following output from the test phase.
+
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running calculator.CalculatorCORBAReferenceTestCase
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.308 sec
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+
+This shows that the Junit test cases have run successfully.
+
+
+

Added: tuscany/java/sca/samples/calculator-corba-reference/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/pom.xml?rev=705066&view=auto
==============================================================================
--- tuscany/java/sca/samples/calculator-corba-reference/pom.xml (added)
+++ tuscany/java/sca/samples/calculator-corba-reference/pom.xml Wed Oct 15 
14:48:14 2008
@@ -0,0 +1,74 @@
+<?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-calculator-corba-reference</artifactId>
+    <name>Apache Tuscany SCA Calculator CORBA Reference 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-binding-corba-runtime</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+       <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-corba-jse</artifactId>
+            <version>1.4-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.5</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+       <finalName>${artifactId}</finalName>
+    </build>
+
+</project>

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/AddService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/AddService.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/AddService.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/AddService.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,28 @@
+/*
+ * 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 calculator;
+
+/**
+ * The interface for the add service
+ */
+public interface AddService {
+
+    double add(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorClient.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorClient.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorClient.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorClient.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,44 @@
+/*
+ * 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 calculator;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * This client program shows how to create an SCA runtime, start it,
+ * and locate and invoke a SCA component
+ */
+public class CalculatorClient {
+    public static void main(String[] args) throws Exception {
+        SCADomain scaDomain = 
SCADomain.newInstance("CalculatorRMIReference.composite");
+        CalculatorService calculatorService = 
+            scaDomain.getService(CalculatorService.class, 
"CalculatorServiceComponent");
+
+        // Calculate
+        System.out.println("3 + 2=" + calculatorService.add(3, 2));
+        System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
+        System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
+        System.out.println("3 / 2=" + calculatorService.divide(3, 2));
+        
+        scaDomain.close();
+
+    }
+
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorService.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorService.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorService.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,39 @@
+/*
+ * 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 calculator;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The Calculator service interface.
+ */
[EMAIL PROTECTED]
+public interface CalculatorService extends Remote {
+
+    double add(double n1, double n2) throws RemoteException;
+
+    double subtract(double n1, double n2) throws RemoteException;
+
+    double multiply(double n1, double n2) throws RemoteException;
+
+    double divide(double n1, double n2) throws RemoteException;
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorServiceImpl.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorServiceImpl.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/CalculatorServiceImpl.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,68 @@
+/*
+ * 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 calculator;
+
+import org.osoa.sca.annotations.Reference;
+
+/**
+ * An implementation of the Calculator service.
+ */
+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) {
+        return multiplyService.multiply(n1, n2);
+    }
+
+    public double divide(double n1, double n2) {
+        return divideService.divide(n1, n2);
+    }
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/DivideService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/DivideService.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/DivideService.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/DivideService.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,28 @@
+/*
+ * 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 calculator;
+
+/**
+ * The interface for the divide service
+ */
+public interface DivideService {
+
+    double divide(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/MultiplyService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/MultiplyService.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/MultiplyService.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/MultiplyService.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,28 @@
+/*
+ * 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 calculator;
+
+/**
+ * The interface for the multiply service
+ */
+public interface MultiplyService {
+
+    double multiply(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/SubtractService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/SubtractService.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/SubtractService.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/java/calculator/SubtractService.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,28 @@
+/*
+ * 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 calculator;
+
+/**
+ * The interface for the subtract service
+ */
+public interface SubtractService {
+
+    double subtract(double n1, double n2);
+
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/main/resources/CalculatorCORBAReference.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/main/resources/CalculatorCORBAReference.composite?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/main/resources/CalculatorCORBAReference.composite
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/main/resources/CalculatorCORBAReference.composite
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,42 @@
+<?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://sample";
+           xmlns:sample="http://sample";
+           name="Calculator">
+
+    <component name="CalculatorServiceComponent">
+               <implementation.java class="calculator.CalculatorServiceImpl"/>
+               <reference name="addService">
+               <tuscany:binding.corba 
uri="corbaname::localhost:5080#CalculatorCORBAService"/>
+               </reference>
+        <reference name="subtractService">
+               <tuscany:binding.corba 
uri="corbaname::localhost:5080#CalculatorCORBAService"/>
+        </reference>
+        <reference name="multiplyService">
+               <tuscany:binding.corba 
uri="corbaname::localhost:5080#CalculatorCORBAService"/>
+        </reference>
+        <reference name="divideService">
+               <tuscany:binding.corba 
uri="corbaname::localhost:5080#CalculatorCORBAService"/>
+        </reference>
+    </component>
+    
+</composite>

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAReferenceTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAReferenceTestCase.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAReferenceTestCase.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAReferenceTestCase.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,82 @@
+/*
+ * 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 calculator;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.host.corba.naming.TransientNameServer;
+import org.apache.tuscany.sca.host.corba.naming.TransientNameService;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.omg.CORBA.ORB;
+import org.omg.CosNaming.NameComponent;
+import org.omg.CosNaming.NamingContext;
+import org.omg.CosNaming.NamingContextHelper;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class CalculatorCORBAReferenceTestCase extends TestCase {
+
+    private SCADomain scaDomain;
+    private CalculatorService calculatorService;
+    private TransientNameServer server;
+
+    private void bindObject(String name, org.omg.CORBA.Object object) throws 
Exception {
+        ORB orb = server.getORB();
+        org.omg.CORBA.Object objRef = 
orb.resolve_initial_references("NameService");
+        NamingContext ncRef = NamingContextHelper.narrow(objRef);
+        NameComponent nc = new NameComponent(name, "");
+        NameComponent path[] = {nc};
+        ncRef.rebind(path, object);
+    }
+    
+    @BeforeClass
+    protected void setUp() throws Exception {
+        // create name service
+        server = new TransientNameServer("localhost", 5080, 
TransientNameService.DEFAULT_SERVICE_NAME);
+        Thread t = server.start();
+        if (t == null) {
+            Assert.fail("The naming server cannot be started");
+        } else {
+            // create CORBA object which will be accessible by SCA CORBA 
binding
+            bindObject("CalculatorCORBAService", new CalculatorCORBAServant());
+            scaDomain = 
SCADomain.newInstance("CalculatorCORBAReference.composite");
+            calculatorService = scaDomain.getService(CalculatorService.class, 
"CalculatorServiceComponent");
+        }
+    }
+
+    @AfterClass
+    protected void tearDown() throws Exception {
+        scaDomain.close();
+        server.stop();
+    }
+
+    @Test
+    public void testCalculator() throws Exception {
+        assertEquals(5.0, calculatorService.add(3, 2));
+        assertEquals(1.0, calculatorService.subtract(3, 2));
+        assertEquals(6.0, calculatorService.multiply(3, 2));
+        assertEquals(1.5, calculatorService.divide(3, 2));
+    }
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAServant.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAServant.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAServant.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/CalculatorCORBAServant.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,44 @@
+/*
+ * 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 calculator;
+
+import calculator.idl._CalculatorCORBAServiceImplBase;
+
+public class CalculatorCORBAServant extends _CalculatorCORBAServiceImplBase {
+
+    private static final long serialVersionUID = 1L;
+
+    public double add(double arg1, double arg2) {
+        return arg1 + arg2;
+    }
+
+    public double subtract(double arg1, double arg2) {
+        return arg1 - arg2;
+    }
+
+    public double multiply(double arg1, double arg2) {
+        return arg1 * arg2;
+    }
+
+    public double divide(double arg1, double arg2) {
+        return arg1 / arg2;
+    }
+
+}

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAService.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAService.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAService.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,32 @@
+/*
+ * 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 calculator.idl;
+
+
+/**
+* calculator/idl/CalculatorCORBAService.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from CalculatorCORBA.idl
+* ¶roda, 15 pa¼dziernik 2008 16:02:31 CEST
+*/
+
+public interface CalculatorCORBAService extends 
CalculatorCORBAServiceOperations, org.omg.CORBA.Object, 
org.omg.CORBA.portable.IDLEntity 
+{
+} // interface CalculatorCORBAService

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAServiceOperations.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAServiceOperations.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAServiceOperations.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/CalculatorCORBAServiceOperations.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,36 @@
+/*
+ * 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 calculator.idl;
+
+
+/**
+* calculator/idl/CalculatorCORBAServiceOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from CalculatorCORBA.idl
+* ¶roda, 15 pa¼dziernik 2008 16:02:31 CEST
+*/
+
+public interface CalculatorCORBAServiceOperations 
+{
+  double add (double arg1, double arg2);
+  double subtract (double arg1, double arg2);
+  double multiply (double arg1, double arg2);
+  double divide (double arg1, double arg2);
+} // interface CalculatorCORBAServiceOperations

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/_CalculatorCORBAServiceImplBase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/_CalculatorCORBAServiceImplBase.java?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/_CalculatorCORBAServiceImplBase.java
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/test/java/calculator/idl/_CalculatorCORBAServiceImplBase.java
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,120 @@
+/*
+ * 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 calculator.idl;
+
+
+/**
+* calculator/idl/_CalculatorCORBAServiceImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from CalculatorCORBA.idl
+* ¶roda, 15 pa¼dziernik 2008 16:02:31 CEST
+*/
+
+public abstract class _CalculatorCORBAServiceImplBase extends 
org.omg.CORBA.portable.ObjectImpl
+                implements calculator.idl.CalculatorCORBAService, 
org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _CalculatorCORBAServiceImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("add", new java.lang.Integer (0));
+    _methods.put ("subtract", new java.lang.Integer (1));
+    _methods.put ("multiply", new java.lang.Integer (2));
+    _methods.put ("divide", new java.lang.Integer (3));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, 
org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+       case 0:  // calculator/idl/CalculatorCORBAService/add
+       {
+         double arg1 = in.read_double ();
+         double arg2 = in.read_double ();
+         double $result = (double)0;
+         $result = this.add (arg1, arg2);
+         out = $rh.createReply();
+         out.write_double ($result);
+         break;
+       }
+
+       case 1:  // calculator/idl/CalculatorCORBAService/subtract
+       {
+         double arg1 = in.read_double ();
+         double arg2 = in.read_double ();
+         double $result = (double)0;
+         $result = this.subtract (arg1, arg2);
+         out = $rh.createReply();
+         out.write_double ($result);
+         break;
+       }
+
+       case 2:  // calculator/idl/CalculatorCORBAService/multiply
+       {
+         double arg1 = in.read_double ();
+         double arg2 = in.read_double ();
+         double $result = (double)0;
+         $result = this.multiply (arg1, arg2);
+         out = $rh.createReply();
+         out.write_double ($result);
+         break;
+       }
+
+       case 3:  // calculator/idl/CalculatorCORBAService/divide
+       {
+         double arg1 = in.read_double ();
+         double arg2 = in.read_double ();
+         double $result = (double)0;
+         $result = this.divide (arg1, arg2);
+         out = $rh.createReply();
+         out.write_double ($result);
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, 
org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:calculator/idl/CalculatorCORBAService:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _CalculatorCORBAServiceImplBase

Added: 
tuscany/java/sca/samples/calculator-corba-reference/src/test/resources/CalculatorCORBA.idl
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/samples/calculator-corba-reference/src/test/resources/CalculatorCORBA.idl?rev=705066&view=auto
==============================================================================
--- 
tuscany/java/sca/samples/calculator-corba-reference/src/test/resources/CalculatorCORBA.idl
 (added)
+++ 
tuscany/java/sca/samples/calculator-corba-reference/src/test/resources/CalculatorCORBA.idl
 Wed Oct 15 14:48:14 2008
@@ -0,0 +1,33 @@
+/*
+ * 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.    
+ */
+
+/*
+ * Compile by: idlj -fserver -oldImplBase CalculatorCORBA.idl 
+ */
+ 
+module calculator {
+       module idl {
+               interface CalculatorCORBAService {
+                       double add(in double arg1, in double arg2);
+                       double subtract(in double arg1, in double arg2);
+                       double multiply(in double arg1, in double arg2);
+                       double divide(in double arg1, in double arg2);          
+               };
+       };
+};
\ No newline at end of file


Reply via email to