You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/01/28 12:35:49 UTC

svn commit: r904042 - in /tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client: ./ pom.xml src/ src/main/ src/main/java/ src/test/ src/test/java/ src/test/java/itest/ src/test/java/itest/ClientTestCase.java

Author: antelder
Date: Thu Jan 28 11:35:48 2010
New Revision: 904042

URL: http://svn.apache.org/viewvc?rev=904042&view=rev
Log:
Start exploring using the Hazelcast native client so that the SCAClient API can use this when the client is in a separate JVM from the Tuscany domain without having to use a full blown distributed endpoint registry which avoids all the sync and lifecycle issues

Added:
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/   (with props)
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/pom.xml
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/main/
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/main/java/
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/java/
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/java/itest/
    tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/java/itest/ClientTestCase.java

Propchange: tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Jan 28 11:35:48 2010
@@ -0,0 +1,20 @@
+target
+work
+dojo
+*.iws
+*.ipr
+*.iml
+derby.log
+maven.log
+maven-eclipse.xml
+build.xml
+build-dependency.xml
+velocity.log*
+junit*.properties
+surefire*.properties
+.project
+.classpath
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders

Added: tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/pom.xml?rev=904042&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/pom.xml (added)
+++ tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/pom.xml Thu Jan 28 11:35:48 2010
@@ -0,0 +1,87 @@
+<?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-itest</artifactId>
+        <version>2.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>itest-nodes-one-jvm-hazelcast-client</artifactId>
+    <name>Apache Tuscany SCA iTest Nodes One JVM Using Hazelcast and client</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>itest-nodes-helloworld-iface</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-sca-client-impl</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-endpoint-hazelcast</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-sca-runtime-rmi</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.hazelcast</groupId>
+            <artifactId>hazelcast-client</artifactId>
+            <version>1.8</version>
+        </dependency>
+    </dependencies>
+    <build>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.5</version>
+                    <configuration>
+                        <includes>
+                            <include>**/*TestCase.java</include>
+                        </includes>
+                        <reportFormat>brief</reportFormat>
+                        <useFile>false</useFile>
+                        <forkMode>once</forkMode>
+                        <argLine>-ea -Xmx256m</argLine>
+                        <parallel>off</parallel>
+                    </configuration>
+                </plugin>
+            </plugins>
+    </build>
+</project>

Added: tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/java/itest/ClientTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/java/itest/ClientTestCase.java?rev=904042&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/java/itest/ClientTestCase.java (added)
+++ tuscany/sca-java-2.x/trunk/itest/nodes/one-jvm-hazelcast-client/src/test/java/itest/ClientTestCase.java Thu Jan 28 11:35:48 2010
@@ -0,0 +1,78 @@
+/*
+ * 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 itest;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.net.URI;
+
+import org.apache.tuscany.sca.core.assembly.impl.RuntimeEndpointImpl;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.hazelcast.client.HazelcastClient;
+import com.hazelcast.core.HazelcastInstance;
+import com.hazelcast.core.IMap;
+
+/**
+ */
+public class ClientTestCase{
+
+    private static URI domainURI = URI.create("tuscany:OneNodeTestCase");
+    private static Node node;
+    private static HazelcastInstance client;
+
+    @BeforeClass
+    public static void setUpBeforeClass() throws Exception {
+        node = NodeFactory.getInstance().createNode(domainURI, "../helloworld-service/target/classes", "../helloworld-client/target/classes");
+        node.start();
+    }
+
+    @Test
+    public void testNode() throws Exception {
+        
+        client = HazelcastClient.newHazelcastClient("OneNodeTestCase", "tuscany", "192.168.1.73:14820"); 
+        IMap<Object, Object> map = client.getMap("OneNodeTestCase/Endpoints");        
+
+        assertNotNull(map);
+        assertEquals(2, map.size());
+        Object ep1 = map.get("HelloworldService#service-binding(Helloworld/Helloworld)");
+        System.out.println((RuntimeEndpointImpl)ep1);
+        assertNotNull(ep1);
+        assertTrue(ep1 instanceof RuntimeEndpointImpl);
+        Object ep2 = map.get("HelloworldClient#service-binding(Helloworld/Helloworld)");
+        assertNotNull(ep2);
+    }
+
+    @AfterClass
+    public static void tearDownAfterClass() throws Exception {
+        if (client != null) {
+            client.shutdown();
+        }
+        if (node != null) {
+            node.stop();
+        }
+    }
+}