diff options
Diffstat (limited to 'sca-java-1.x/trunk/samples/helloworld-spring/src')
6 files changed, 205 insertions, 0 deletions
diff --git a/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/Helloworld.java b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/Helloworld.java new file mode 100644 index 0000000000..cd8ceef66b --- /dev/null +++ b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/Helloworld.java @@ -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 sample;
+
+public interface Helloworld {
+
+ String sayHello(String name);
+
+}
diff --git a/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/HelloworldClient.java b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/HelloworldClient.java new file mode 100644 index 0000000000..dec7da2bb5 --- /dev/null +++ b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/HelloworldClient.java @@ -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 sample;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+/**
+ * This client program shows how to create an SCA runtime, start it,
+ * and locate and invoke a SCA component
+ */
+public class HelloworldClient {
+
+ public static void main(String[] args) throws Exception {
+
+ SCANode node = SCANodeFactory.newInstance().createSCANodeFromClassLoader("helloworld.composite", Helloworld.class.getClassLoader());
+ node.start();
+
+ Helloworld service = ((SCAClient)node).getService(Helloworld.class, "HelloworldComponent");
+
+ System.out.println(service.sayHello("world"));
+
+ node.stop();
+ }
+
+}
diff --git a/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/HelloworldImpl.java b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/HelloworldImpl.java new file mode 100644 index 0000000000..089b1a4290 --- /dev/null +++ b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/java/sample/HelloworldImpl.java @@ -0,0 +1,27 @@ +/*
+ * 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 sample;
+
+public class HelloworldImpl implements Helloworld {
+
+ public String sayHello(String name) {
+ return "Hello " + name;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/samples/helloworld-spring/src/main/resources/helloworld-spring-context.xml b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/resources/helloworld-spring-context.xml new file mode 100644 index 0000000000..6aea68b084 --- /dev/null +++ b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/resources/helloworld-spring-context.xml @@ -0,0 +1,29 @@ +<?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.osoa.org/xmlns/sca/1.0/spring-sca.xsd">
+
+ <bean id="HelloworldBean" class="sample.HelloworldImpl" />
+
+</beans>
diff --git a/sca-java-1.x/trunk/samples/helloworld-spring/src/main/resources/helloworld.composite b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/resources/helloworld.composite new file mode 100644 index 0000000000..4d73f398d9 --- /dev/null +++ b/sca-java-1.x/trunk/samples/helloworld-spring/src/main/resources/helloworld.composite @@ -0,0 +1,29 @@ +<?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"
+ targetNamespace="http://sample"
+ xmlns:sample="http://sample"
+ name="Helloworld">
+
+ <component name="HelloworldComponent">
+ <implementation.spring location="helloworld-spring-context.xml"/>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/trunk/samples/helloworld-spring/src/test/java/sample/HelloworldTestCase.java b/sca-java-1.x/trunk/samples/helloworld-spring/src/test/java/sample/HelloworldTestCase.java new file mode 100644 index 0000000000..0eb135bdb7 --- /dev/null +++ b/sca-java-1.x/trunk/samples/helloworld-spring/src/test/java/sample/HelloworldTestCase.java @@ -0,0 +1,51 @@ +/*
+ * 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 sample;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+/**
+ * This shows how to test the Helloworld component.
+ */
+public class HelloworldTestCase extends TestCase {
+
+ private Helloworld service;
+ private SCANode node;
+
+ @Override
+ protected void setUp() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANodeFromClassLoader("helloworld.composite", getClass().getClassLoader());
+ node.start();
+
+ service = ((SCAClient)node).getService(Helloworld.class, "HelloworldComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testHelloworld() throws Exception {
+ assertEquals("Hello petra", service.sayHello("petra"));
+ }
+}
|