summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--branches/sca-java-1.x/tutorials/store/warehouse-spring/META-INF/sca-contribution.xml24
-rw-r--r--branches/sca-java-1.x/tutorials/store/warehouse-spring/build.xml75
-rw-r--r--branches/sca-java-1.x/tutorials/store/warehouse-spring/pom.xml98
-rw-r--r--branches/sca-java-1.x/tutorials/store/warehouse-spring/services/WarehouseImpl.java40
-rw-r--r--branches/sca-java-1.x/tutorials/store/warehouse-spring/uiservices/warehouse.html76
-rw-r--r--branches/sca-java-1.x/tutorials/store/warehouse-spring/warehouse-spring.composite49
6 files changed, 362 insertions, 0 deletions
diff --git a/branches/sca-java-1.x/tutorials/store/warehouse-spring/META-INF/sca-contribution.xml b/branches/sca-java-1.x/tutorials/store/warehouse-spring/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..99863d56cc
--- /dev/null
+++ b/branches/sca-java-1.x/tutorials/store/warehouse-spring/META-INF/sca-contribution.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:s="http://store">
+ <import.java package="services" />
+ <deployable composite="s:warehouse" />
+</contribution> \ No newline at end of file
diff --git a/branches/sca-java-1.x/tutorials/store/warehouse-spring/build.xml b/branches/sca-java-1.x/tutorials/store/warehouse-spring/build.xml
new file mode 100644
index 0000000000..14d8beff44
--- /dev/null
+++ b/branches/sca-java-1.x/tutorials/store/warehouse-spring/build.xml
@@ -0,0 +1,75 @@
+<!--
+ * 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="tutorial-warehouse-spring" default="compile">
+
+ <target name="compile">
+ <mkdir dir="target/classes"/>
+ <javac destdir="target/classes" debug="on" source="1.5" target="1.5">
+ <src path="."/>
+ <classpath>
+ <fileset refid="tuscany.jars"/>
+ <fileset refid="3rdparty.jars"/>
+ </classpath>
+ </javac>
+ <copy todir="target/classes">
+ <fileset dir="." excludes="**/*.java, pom.xml, build.xml, target"/>
+ </copy>
+ <jar destfile="target/tutorial-warehouse-spring.jar" basedir="target/classes">
+ <manifest>
+ </manifest>
+ </jar>
+ </target>
+
+ <target name="package" depends="compile"/>
+
+ <target name="clean">
+ <delete includeemptydirs="true">
+ <fileset dir="target"/>
+ </delete>
+ </target>
+
+ <fileset id="tuscany.jars" dir="../../../modules">
+ <include name="tuscany-assembly-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-assembly-xml-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-jms-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-java-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-namespace-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-core-spi-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-data-api-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-definitions-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-extensibility-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-implementation-java-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-java-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-monitor-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-policy-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-sca-api-1.6-SNAPSHOT.jar"/>
+ <include name="tuscany-sca-api-extension-1.6-SNAPSHOT.jar"/>
+ <include name="tutorial-assets.jar"/>
+ </fileset>
+ <fileset id="3rdparty.jars" dir="../../../lib">
+ <include name="derby-10.3.1.4.jar"/>
+ <include name="jsr181-api-1.0-MR1.jar"/>
+ <include name="stax-api-1.0-2.jar"/>
+ <include name="wstx-asl-3.2.4.jar"/>
+ </fileset>
+
+</project>
diff --git a/branches/sca-java-1.x/tutorials/store/warehouse-spring/pom.xml b/branches/sca-java-1.x/tutorials/store/warehouse-spring/pom.xml
new file mode 100644
index 0000000000..939d3b24bc
--- /dev/null
+++ b/branches/sca-java-1.x/tutorials/store/warehouse-spring/pom.xml
@@ -0,0 +1,98 @@
+<?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-tutorial-store</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>tutorial-warehouse-spring</artifactId>
+ <name>Apache Tuscany SCA Store Tutorial Warehouse Spring</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-sca-api</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jms</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tutorial-assets</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <sourceDirectory>${basedir}</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>${basedir}</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ <exclude>**/.*/**</exclude>
+ <exclude>pom.xml</exclude>
+ <exclude>build.xml</exclude>
+ <exclude>target/**</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-maven-ant-generator</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <pathToRootDir>../../..</pathToRootDir>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/branches/sca-java-1.x/tutorials/store/warehouse-spring/services/WarehouseImpl.java b/branches/sca-java-1.x/tutorials/store/warehouse-spring/services/WarehouseImpl.java
new file mode 100644
index 0000000000..d14def1e8e
--- /dev/null
+++ b/branches/sca-java-1.x/tutorials/store/warehouse-spring/services/WarehouseImpl.java
@@ -0,0 +1,40 @@
+/*
+ * 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 services;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.osoa.sca.annotations.Scope;
+
+@Scope("COMPOSITE")
+public class WarehouseImpl implements Warehouse {
+
+ private List<Order> orders = new ArrayList<Order>();
+
+ public void addOrder(Order order) {
+ System.out.println("Received order: " + order.toString());
+ orders.add(order);
+ }
+
+ public Order[] getOrders() {
+ return orders.toArray(new Order[orders.size()]);
+ }
+}
diff --git a/branches/sca-java-1.x/tutorials/store/warehouse-spring/uiservices/warehouse.html b/branches/sca-java-1.x/tutorials/store/warehouse-spring/uiservices/warehouse.html
new file mode 100644
index 0000000000..b215f9a3cd
--- /dev/null
+++ b/branches/sca-java-1.x/tutorials/store/warehouse-spring/uiservices/warehouse.html
@@ -0,0 +1,76 @@
+<!--
+ * 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.
+-->
+<html>
+<head>
+<title>Warehouse</title>
+
+<script type="text/javascript" src="warehouse.js"></script>
+
+<script language="JavaScript">
+
+ //@Reference
+ var warehouse = new tuscany.sca.Reference("warehouse");
+
+ function getOrders() {
+ warehouse.getOrders(warehouse_getOrdersResponse);
+ }
+
+ function warehouse_getOrdersResponse(orders,exception) {
+ if(exception){
+ alert(exception.message);
+ return;
+ }
+
+ var orderHTML = "";
+ for (var i=0; i<orders.length; i++) {
+ var order = orders[i];
+ var items = order.items;
+ orderHTML += "Order</br>";
+ for (var j=0; j<items.length; j++) {
+ var item = items[j].name + ' - ' + items[j].price;
+ orderHTML += " " + item + "<br/>";
+ }
+ }
+ document.getElementById('orders').innerHTML=orderHTML;
+ }
+
+ function init() {
+ try {
+ getOrders();
+ }
+ catch(e) {
+ alert(e);
+ }
+ }
+
+</script>
+
+</head>
+
+<body onload="init()">
+<h1>Pending Orders</h1>
+ <div id="warehouse">
+ <form name="ordersForm">
+ <div id="orders" ></div>
+ <br>
+ <input type="button" onClick="getOrders()" value="Refresh">
+ </form>
+ </div>
+</body>
+</html>
diff --git a/branches/sca-java-1.x/tutorials/store/warehouse-spring/warehouse-spring.composite b/branches/sca-java-1.x/tutorials/store/warehouse-spring/warehouse-spring.composite
new file mode 100644
index 0000000000..df14a68d1a
--- /dev/null
+++ b/branches/sca-java-1.x/tutorials/store/warehouse-spring/warehouse-spring.composite
@@ -0,0 +1,49 @@
+<?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:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://store"
+ name="warehouse">
+
+ <component name="WarehouseUI">
+ <t:implementation.widget location="uiservices/warehouse.html"/>
+ <service name="Widget">
+ <t:binding.http uri="http://localhost:8088/ui"/>
+ </service>
+ <reference name="warehouse">
+ <t:binding.jsonrpc uri="http://localhost:8088/Warehouse"/>
+ </reference>
+ </component>
+
+ <component name="Warehouse">
+ <implementation.java class="services.WarehouseImpl"/>
+ <service name="Warehouse">
+ <t:binding.jsonrpc uri="http://localhost:8088/Warehouse"/>
+ <binding.jms initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
+ jndiURL="tcp://localhost:61619">
+ <destination name="RequestQueue" create="ifnotexist"/>
+ <response>
+ <destination name="ResponseQueue" create="ifnotexist"/>
+ </response>
+ </binding.jms>
+ </service>
+ </component>
+
+</composite>