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 2007/06/20 17:28:05 UTC
svn commit: r549133 [1/2] - in
/incubator/tuscany/java/sca/samples/osgi-supplychain: ./ src/ src/main/
src/main/java/ src/main/java/supplychain/
src/main/java/supplychain/customer/ src/main/java/supplychain/retailer/
src/main/java/supplychain/shipper/ ...
Author: antelder
Date: Wed Jun 20 08:28:00 2007
New Revision: 549133
URL: http://svn.apache.org/viewvc?view=rev&rev=549133
Log:
TUSCANY-1363, add osgi sample conributed by Rajini Sivaram
Added:
incubator/tuscany/java/sca/samples/osgi-supplychain/ (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/META-INF/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/META-INF/LICENSE.txt (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/META-INF/NOTICE (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/META-INF/README.txt (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Retailer.componentType (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Shipper.componentType (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Warehouse.componentType (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/Customer.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/Retailer.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/Shipper.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/Warehouse.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Customer.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Customer.xml (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Retailer.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Retailer.xml (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Shipper.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Shipper.xml (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Warehouse.mf
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/osgi/ds/Warehouse.xml (with props)
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.composite
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.ds.composite
incubator/tuscany/java/sca/samples/osgi-supplychain/src/test/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/test/java/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/test/java/supplychain/
incubator/tuscany/java/sca/samples/osgi-supplychain/src/test/java/supplychain/SupplyChainClientTestCase.java (with props)
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jun 20 08:28:00 2007
@@ -0,0 +1 @@
+\Tuscany\SVN\TRUNK\etc\svn-ignores
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml Wed Jun 20 08:28:00 2007
@@ -0,0 +1,32 @@
+<?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 name="OSGiBundleCreator">
+
+ <target name="create-bundles">
+
+ <jar jarfile="${jar.dir}/${jar.file.name}" manifest="${files.dir}/${manifest.file.name}" >
+ <fileset dir="${files.dir}" includes="${files.list}">
+ <!-- include name="${files.list}"/-->
+ </fileset>
+ </jar>
+ </target>
+
+
+</project>
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/build-bundles.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml Wed Jun 20 08:28:00 2007
@@ -0,0 +1,195 @@
+<?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.0-incubating-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <artifactId>sample-osgi-supplychain</artifactId>
+ <name>Apache Tuscany OSGi Supply Chain Sample</name>
+
+ <repositories>
+ <!-- for felix snapshots -->
+ <repository>
+ <id>apache.snapshots</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.main</artifactId>
+ <version>0.9.0-incubator-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr</artifactId>
+ <version>0.9.0-incubator-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-osgi</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.2</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>sample-osgi-supplychain</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+ <execution>
+ <id>create-bundles</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="Customer.jar"/>
+ <property name="manifest.file.name" value="osgi/Customer.mf"/>
+ <property name="files.list"
+ value="supplychain/customer/Customer.class \
+ supplychain/OSGiBundleImpl.class \
+ supplychain/customer/OSGiCustomerImpl.class"/>
+
+ </ant>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="Retailer.jar"/>
+ <property name="manifest.file.name" value="osgi/Retailer.mf"/>
+ <property name="files.list"
+ value="supplychain/retailer/Retailer.class \
+ supplychain/OSGiBundleImpl.class \
+ supplychain/retailer/OSGiRetailerImpl.class"/>
+
+ </ant>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="Shipper.jar"/>
+ <property name="manifest.file.name" value="osgi/Shipper.mf"/>
+ <property name="files.list"
+ value="supplychain/shipper/Shipper.class \
+ supplychain/OSGiBundleImpl.class \
+ supplychain/shipper/OSGiShipperImpl.class"/>
+
+ </ant>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="Warehouse.jar"/>
+ <property name="manifest.file.name" value="osgi/Warehouse.mf"/>
+ <property name="files.list"
+ value="supplychain/warehouse/Warehouse.class \
+ supplychain/OSGiBundleImpl.class \
+ supplychain/warehouse/OSGiWarehouseImpl.class"/>
+
+ </ant>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="DSCustomer.jar"/>
+ <property name="manifest.file.name" value="osgi/ds/Customer.mf"/>
+ <property name="files.list"
+ value="supplychain/customer/Customer.class \
+ osgi/ds/Customer.xml \
+ supplychain/customer/OSGiCustomerComponentImpl.class"/>
+
+ </ant>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="DSRetailer.jar"/>
+ <property name="manifest.file.name" value="osgi/ds/Retailer.mf"/>
+ <property name="files.list"
+ value="supplychain/retailer/Retailer.class \
+ osgi/ds/Retailer.xml \
+ supplychain/retailer/OSGiRetailerComponentImpl.class"/>
+
+ </ant>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="DSShipper.jar"/>
+ <property name="manifest.file.name" value="osgi/ds/Shipper.mf"/>
+ <property name="files.list"
+ value="supplychain/shipper/Shipper.class \
+ osgi/ds/Shipper.xml \
+ supplychain/shipper/OSGiShipperComponentImpl.class"/>
+
+ </ant>
+ <ant antfile="./build-bundles.xml" target="create-bundles">
+ <property name="jar.dir" value="target"/>
+ <property name="files.dir" value="target/classes"/>
+ <property name="jar.file.name" value="DSWarehouse.jar"/>
+ <property name="manifest.file.name" value="osgi/ds/Warehouse.mf"/>
+ <property name="files.list"
+ value="supplychain/warehouse/Warehouse.class \
+ osgi/ds/Warehouse.xml \
+ supplychain/warehouse/OSGiWarehouseComponentImpl.class"/>
+
+ </ant>
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm Wed Jun 20 08:28:00 2007
@@ -0,0 +1,332 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<!--
+ * 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.
+ -->
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+ <meta http-equiv="Content-Style-Type" content="text/css">
+ <title>Tuscany Supply Chain</title>
+<!-- LINK rel="stylesheet" href="ait.css" type="text/css" -->
+ <style type="text/css" media="all">
+@import url("../../../../css/maven-base.css");
+@import url("../../../../css/maven-theme.css");
+@import url("../../../../css/site.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css"
+ media="print">
+</head>
+<body>
+<h2>Tuscany
+Supply Chain Sample using OSGi<br>
+</h2>
+<h3>Overview</h3>
+<p>The Tuscany OSGi supply chain sample shows using the Tuscany SCA
+runtime in a J2SE environment executing the SCA asynchronous API
+with OSGi and Java implementation types.</p>
+<h3>Location</h3>
+This
+sample is located in the samples\osgi-supplychain directory.<br>
+<h3>Setup</h3>
+This sample depends on the Tuscany runtime
+and the sample jar, <span style="font-weight: bold;"></span>both of
+these must be available on the classpath to run the sample.
+<h3>Running</h3>
+In the directory samples\osgi-supplychain
+use the JDK 1.5 java command to run the class <span
+ style="font-weight: bold;">supplychain.SupplyChainClient</span>
+<pre>Linux: java -cp ../../../lib/tuscany-runtime-incubating-M1.jar:target/sample-osgi-supplychain-incubating-M1.jar supplychain.SupplyChainClient</pre>
+<pre>Windows: java -cp ../../../lib/tuscany-runtime-incubating-M1.jar;target/sample-osgi-supplychain-incubating-M1.jar supplychain.SupplyChainClient</pre>
+<h3>Results</h3>
+<p>The sample when run should simply display on the standard output
+some startup messages followed by:<br>
+<br>
+Work thread Thread[Thread-1,5,main]
+- <span style="font-weight: bold;">Order, submitted, fulfilled, shipped</span><code></code></p>
+<h3>Code Overview</h3>
+The source files are physically organized as shown below:
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2"
+ cellspacing="2">
+ <tbody>
+ <tr>
+ <td>src<br>
++---main<br>
+
++---java<br>
+
+¦ +---supplychain<br>
+ ¦
+ OSGiBundleImpl.java<br>
+ ¦
+ SupplyChainClient.java<br>
+
+¦ +---customer<br>
+
+¦
+
+Customer.java<br>
+
+¦
+JavaCustomerComponentImpl.java<br>
+
+¦
+OSGiCustomerComponentImpl.java<br>
+
+¦
+OSGiCustomerImpl.java<br>
+
+¦ +---retailer<br>
+
+¦
+
+Retailer.java<br>
+
+¦
+JavaRetailerComponentImpl.java<br>
+
+¦
+OSGiRetailerComponentImpl.java<br>
+
+¦
+OSGiRetailerImpl.java<br>
+
+¦ +---shipper<br>
+
+¦
+Shipper.java<br>
+
+¦
+JavaShipperComponentImpl.java<br>
+
+¦
+OSGiShipperComponentImpl.java<br>
+
+¦
+OSGiShipperImpl.java<br>
+
+¦ +---warehouse<br>
+
+¦
+Warehouse.java<br>
+
+¦
+JavaWarehouseComponentImpl.java<br>
+
+¦
+OSGiWarehouseComponentImpl.java<br>
+
+¦
+OSGiWarehouseImpl.java<br>
+
+¦<br>
+ +---resources<br>
+
+¦ +---osgi<br>
+ ¦
+ Customer.mf<br>
+ ¦
+ Retailer.mf<br>
+ ¦
+ Shipper.mf<br>
+ ¦
+ Warehouse.mf<br>
+ ¦
++---ds<br>
+ ¦
+ Customer.mf<br>
+ ¦
+ Retailer.mf<br>
+ ¦
+
+Shipper.mf<br>
+ ¦
+
+Warehouse.mf<br>
+ ¦
+ Customer.xml<br>
+ ¦
+ Retailer.xml<br>
+ ¦
+
+Shipper.xml<br>
+ ¦
+
+Warehouse.xml<br>
+ ¦
+Customer.componentType<br>
+ ¦
+Retailer.componentType<br>
+ ¦
+Shipper.componentType<br>
+ ¦
+Warehouse.componentType<br>
+ ¦
+supplychain.composite<br>
+ ¦
+supplychain.ds.composite<br>
+ <br>
+ <br>
+ </td>
+ </tr>
+ </tbody>
+</table>
+<br>
+<table style="text-align: left; width: 879px; height: 154px;" border="0"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td style="vertical-align: top;">Customer.java</td>
+ <td>Defines the Java interface implemented by the Customer
+component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">JavaCustomerComponentImpl.java</td>
+ <td>POJO Implementation of the SCA Customer component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiCustomerComponentImpl.java</td>
+ <td style="vertical-align: top;">OSGi Declarative Services
+Implementation of the SCA Customer component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiCustomerImpl.java</td>
+ <td style="vertical-align: top;">OSGi Procedural Services
+Implementation of the SCA Customer component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">Retailer.java</td>
+ <td>Defines the Java interface implemented by the Retailer
+component.</td>
+ </tr>
+ <tr>
+ <td>JavaRetailerComponentImpl.java</td>
+ <td>POJO Implementation of the SCA RetailerComponent
+component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiRetailerComponentImpl.java</td>
+ <td style="vertical-align: top;">OSGi Declarative Services
+Implementation of the SCA Retailer component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiRetailerImpl.java</td>
+ <td style="vertical-align: top;">OSGi Procedural Services
+Implementation of the SCA Retailer component.</td>
+ </tr>
+ <tr>
+ <td>Shipper.java</td>
+ <td>Defines
+the Java interface implemented by the Shipper component</td>
+ </tr>
+ <tr>
+ <td>JavaShipperComponentImpl.java</td>
+ <td>POJO Implementation of the SCA ShipperComponent
+component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiShipperComponentImpl.java</td>
+ <td style="vertical-align: top;">OSGi Declarative Services
+Implementation of the SCA Shipper component.</td>
+ </tr>
+ <tr>
+ <td>OSGiShipperImpl.java</td>
+ <td>OSGi Procedural Services Implementation of the SCA Shipper
+component.</td>
+ </tr>
+ <tr>
+ <td>Warehouse.java</td>
+ <td>Defines
+the Java interface implemented by the Warehouse component.</td>
+ </tr>
+ <tr>
+ <td>JavaWarehouseComponentImpl.java</td>
+ <td>POJO Implementation of the SCA WarehouseComponent
+component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiWarehouseComponentImpl.java</td>
+ <td style="vertical-align: top;">OSGi Declarative Services
+Implementation of the SCA Warehouse component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiWarehouseImpl.java</td>
+ <td style="vertical-align: top;">OSGi Procedural Services
+Implementation of the SCA Warehouse component.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">OSGiBundleImpl.java<br>
+ </td>
+ <td style="vertical-align: top;">Common code for OSGi Procedural
+Services Implementation of the SCA components<br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">SupplyChainClient.java</td>
+ <td style="vertical-align: top;">SupplyChainClient.java
+loads SCA runtime <br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">SupplyChainClientTestCase.java</td>
+ <td style="vertical-align: top;">JUnit test for this sample<br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">resources/osgi/*.mf<br>
+ </td>
+ <td style="vertical-align: top;">Manifest files for OSGi bundles
+for OSGi procedural services implementation<br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">resources/osgi/ds/*.mf</td>
+ <td style="vertical-align: top;">Manifest files for OSGi bundles
+for OSGi declarative services implementation</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">resources/osgi/ds/*.xml</td>
+ <td style="vertical-align: top;">OSGi Declarative services
+component xml files<br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">resources/*.componentType<br>
+ </td>
+ <td style="vertical-align: top;">Component types used by OSGi
+implementation provider for SCA<br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">resources/supplychain.composite<br>
+ </td>
+ <td style="vertical-align: top;">Composite file using OSGi and
+Java implementation types<br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">resources/supplychain.ds.composite</td>
+ <td style="vertical-align: top;">Composite file using OSGi
+(declarative services) and Java implementation types <br>
+ </td>
+ </tr>
+ </tbody>
+</table>
+<br>
+</body>
+</html>
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/readme.htm
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,123 @@
+/*
+ * 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 supplychain;
+
+
+import java.lang.reflect.Field;
+import java.util.Hashtable;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+
+
+/**
+ * Common code for all OSGi bundles which dont use declarative services.
+ * Registers services and sets references.
+ */
+public class OSGiBundleImpl implements ServiceListener, BundleActivator {
+
+
+ String name;
+ String serviceName;
+ String[] references;
+ Class<?>[] referenceClasses;
+ Field[] referenceFields;
+
+ Class myClass;
+
+ private BundleContext bundleContext;
+
+ public OSGiBundleImpl(String serviceName, String... references) {
+
+ System.out.println("Created " + this.getClass().getSimpleName());
+
+ myClass = this.getClass();
+ this.name = this.getClass().getSimpleName();
+ this.serviceName = serviceName;
+ this.references = references;
+
+ try {
+ referenceClasses = new Class[references.length];
+ referenceFields = new Field[references.length];
+ for (int i = 0; i < references.length; i++) {
+ referenceFields[i] = this.getClass().getDeclaredField(references[i]);
+ referenceFields[i].setAccessible(true);
+ referenceClasses[i] = referenceFields[i].getType();
+ }
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ public void start(BundleContext bc) {
+
+ System.out.println("Started bundle " + name);
+
+ this.bundleContext = bc;
+
+ bundleContext.registerService(serviceName, this, new Hashtable());
+
+ for (int i = 0; i < references.length; i++) {
+
+ try {
+
+ ServiceReference ref = bundleContext.getServiceReference(referenceClasses[i].getName());
+ if (ref != null) {
+ Object obj = bundleContext.getService(ref);
+ referenceFields[i].set(this, referenceClasses[i].cast(obj));
+ } else {
+ String filter = "(objectclass=" + referenceClasses[i].getName() + ")";
+ this.bundleContext.addServiceListener(this, filter);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ public void stop(BundleContext bc) {
+ System.out.println("Stop bundle " + name);
+
+ }
+
+
+ public void serviceChanged(ServiceEvent event) {
+ try {
+ if (event.getType() == ServiceEvent.REGISTERED) {
+
+ ServiceReference ref = event.getServiceReference();
+ Object obj = bundleContext.getService(ref);
+ for (int i = 0; i < references.length; i++) {
+ if (referenceClasses[i].isAssignableFrom(obj.getClass())) {
+ referenceFields[i].set(this, referenceClasses[i].cast(obj));
+ }
+ }
+ }
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/OSGiBundleImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,43 @@
+/*
+ * 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 supplychain;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+import supplychain.customer.Customer;
+
+
+/**
+ * This client program shows how to create an SCA runtime, start it,
+ * locate a Customer service component and invoke it.
+ */
+public class SupplyChainClient {
+
+ public static final void main(String[] args) throws Exception {
+ SCADomain scaDomain = SCADomain.newInstance("supplychain.composite");
+ Customer customer = scaDomain.getService(Customer.class, "CustomerComponent");
+
+ System.out.println("Main thread " + Thread.currentThread());
+ customer.purchaseGoods();
+ System.out.println("Main thread sleeping ...");
+ Thread.sleep(1000);
+
+ scaDomain.close();
+ }
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/SupplyChainClient.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java Wed Jun 20 08:28:00 2007
@@ -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.
+ */
+package supplychain.customer;
+
+import org.osoa.sca.annotations.OneWay;
+
+/**
+ * This is the business interface of the Customer service component.
+ */
+public interface Customer {
+
+ public void purchaseGoods();
+
+ @OneWay
+ public void notifyShipment(String order);
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/Customer.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -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 supplychain.customer;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+import supplychain.retailer.Retailer;
+
+/**
+ * This class implements the Customer service component (POJO implementation).
+ */
+@Service(Customer.class)
+@Scope("COMPOSITE")
+public class JavaCustomerComponentImpl implements Customer {
+
+ private Retailer retailer;
+
+ @Reference
+ public void setRetailer(Retailer retailer) {
+ this.retailer = retailer;
+ }
+
+ public void purchaseGoods() {
+ System.out.println("Customer.purchaseGoods, retailer is " + retailer);
+ retailer.submitOrder("Order");
+ }
+
+ public void notifyShipment(String order) {
+ System.out.print("Work thread " + Thread.currentThread() + " - ");
+ System.out.println(order);
+ }
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,52 @@
+/*
+ * 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 supplychain.customer;
+
+
+import supplychain.retailer.Retailer;
+
+/**
+ * This class implements the Customer service component (OSGi declarative services implementation).
+ */
+public class OSGiCustomerComponentImpl implements Customer {
+
+
+ private Retailer retailer;
+
+
+ protected void setRetailer(Retailer retailer) {
+ this.retailer = retailer;
+ }
+
+ protected void unsetRetailer(Retailer retailer) {
+ this.retailer = null;
+ }
+
+ public void purchaseGoods() {
+ System.out.println("Customer.purchaseGoods, retailer is " + retailer);
+ retailer.submitOrder("Order");
+ }
+
+ public void notifyShipment(String order) {
+ System.out.print("Work thread " + Thread.currentThread() + " - ");
+ System.out.println(order);
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,48 @@
+/*
+ * 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 supplychain.customer;
+
+
+import supplychain.OSGiBundleImpl;
+import supplychain.retailer.Retailer;
+
+/**
+ * This class implements the Customer service component (OSGi procedural services implementation).
+ */
+public class OSGiCustomerImpl extends OSGiBundleImpl implements Customer {
+
+ private Retailer retailer;
+
+ public OSGiCustomerImpl() {
+ super("supplychain.customer.Customer", "retailer");
+
+ }
+
+ public void purchaseGoods() {
+ System.out.println("Customer.purchaseGoods, retailer is " + retailer);
+ retailer.submitOrder("Order");
+ }
+
+ public void notifyShipment(String order) {
+ System.out.print("Work thread " + Thread.currentThread() + " - ");
+ System.out.println(order);
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/customer/OSGiCustomerImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,54 @@
+/*
+ * 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 supplychain.retailer;
+
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+import supplychain.warehouse.Warehouse;
+
+/**
+ * This class implements the Retailer service component (POJO implementation).
+ */
+@Service(Retailer.class)
+@Scope("STATELESS")
+public class JavaRetailerComponentImpl implements Retailer {
+
+ private Warehouse warehouse;
+
+
+ @Reference
+ public void setWarehouse(Warehouse warehouse) {
+ this.warehouse = warehouse;
+ }
+
+
+ public void submitOrder(String order) {
+
+ System.out.println("Retailer.submitOrder, warehouse is " + warehouse);
+ warehouse.fulfillOrder(order + ", submitted");
+
+ }
+
+
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,47 @@
+/*
+ * 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 supplychain.retailer;
+
+import supplychain.warehouse.Warehouse;
+
+/**
+ * This class implements the Retailer service component (OSGi declarative services implementation).
+ */
+public class OSGiRetailerComponentImpl implements Retailer {
+
+ private Warehouse warehouse;
+
+
+ protected void setWarehouse(Warehouse warehouse) {
+ this.warehouse = warehouse;
+ }
+
+ protected void unsetWarehouse(Warehouse warehouse) {
+ this.warehouse = null;
+ }
+
+ public void submitOrder(String order) {
+
+ System.out.println("Retailer.submitOrder, warehouse is" + warehouse);
+ warehouse.fulfillOrder(order + ", submitted");
+
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,46 @@
+/*
+ * 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 supplychain.retailer;
+
+
+import supplychain.OSGiBundleImpl;
+import supplychain.warehouse.Warehouse;
+
+/**
+ * This class implements the Retailer service component (OSGi procedural services implementation).
+ */
+public class OSGiRetailerImpl extends OSGiBundleImpl implements Retailer {
+
+ private Warehouse warehouse;
+
+ public OSGiRetailerImpl() {
+
+ super("supplychain.retailer.Retailer", "warehouse");
+ }
+
+ public void submitOrder(String order) {
+
+ System.out.println("Retailer.submitOrder, warehouse is " + warehouse);
+ warehouse.fulfillOrder(order + ", submitted");
+
+ }
+
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/OSGiRetailerImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java Wed Jun 20 08:28:00 2007
@@ -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 supplychain.retailer;
+
+/**
+ * This is the business interface of the Retailer service component.
+ */
+public interface Retailer {
+
+ public void submitOrder(String order);
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/retailer/Retailer.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,48 @@
+/*
+ * 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 supplychain.shipper;
+
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+import supplychain.customer.Customer;
+
+/**
+ * This class implements the Shipper service component (POJO implementation).
+ */
+@Service(Shipper.class)
+@Scope("COMPOSITE")
+public class JavaShipperComponentImpl implements Shipper {
+
+ private Customer customer;
+
+ @Reference
+ public void setCustomer(Customer customer) {
+ this.customer = customer;
+ }
+
+ public void processShipment(String order) {
+ System.out.println("Shipper.processShipment, customer is " + customer);
+ customer.notifyShipment(order + ", shipped");
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,46 @@
+/*
+ * 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 supplychain.shipper;
+
+
+import supplychain.customer.Customer;
+
+/**
+ * This class implements the Shipper service component (OSGi declarative services implementation).
+ */
+public class OSGiShipperComponentImpl implements Shipper {
+
+ private Customer customer;
+
+
+ protected void setCustomer(Customer customer) {
+ this.customer = customer;
+ }
+
+ protected void unsetCustomer(Customer customer) {
+ this.customer = null;
+ }
+
+ public void processShipment(String order) {
+ System.out.println("Shipper.processShipment, customer is " + customer);
+ customer.notifyShipment(order + ", shipped");
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,43 @@
+/*
+ * 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 supplychain.shipper;
+
+
+import supplychain.OSGiBundleImpl;
+import supplychain.customer.Customer;
+
+/**
+ * This class implements the Shipper service component (OSGi procedural services implementation).
+ */
+public class OSGiShipperImpl extends OSGiBundleImpl implements Shipper {
+
+ private Customer customer;
+
+ public OSGiShipperImpl() {
+ super("supplychain.shipper.Shipper", "customer");
+ }
+
+
+ public void processShipment(String order) {
+ System.out.println("Shipper.processShipment, customer is " + customer);
+ customer.notifyShipment(order + ", shipped");
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/OSGiShipperImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java Wed Jun 20 08:28:00 2007
@@ -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 supplychain.shipper;
+
+/**
+ * This is the business interface of the Shipper service component.
+ */
+public interface Shipper {
+
+ public void processShipment(String order);
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/shipper/Shipper.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,49 @@
+/*
+ * 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 supplychain.warehouse;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+import supplychain.shipper.Shipper;
+
+/**
+ * This class implements the Warehouse service component (POJO implementation).
+ */
+@Service(Warehouse.class)
+@Scope("STATELESS")
+public class JavaWarehouseComponentImpl implements Warehouse {
+
+ private Shipper shipper;
+
+
+ @Reference
+ public void setShipper(Shipper shipper) {
+ this.shipper = shipper;
+ }
+
+ public void fulfillOrder(String order) {
+ System.out.println("Warehouse.fulfillOrder : shipper is " + shipper);
+
+ shipper.processShipment(order + ", fulfilled");
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,49 @@
+/*
+ * 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 supplychain.warehouse;
+
+import supplychain.shipper.Shipper;
+
+/**
+ * This class implements the Warehouse service component (OSGi declarative services implementation).
+ */
+
+public class OSGiWarehouseComponentImpl implements Warehouse {
+
+ private Shipper shipper;
+
+
+ protected void setShipper(Shipper shipper) {
+ this.shipper = shipper;
+ }
+
+ protected void unsetShipper(Shipper shipper) {
+ this.shipper = null;
+ }
+
+ public void fulfillOrder(String order) {
+ System.out.println("Warehouse.fulfillOrder : shipper is " + shipper);
+
+ shipper.processShipment(order + ", fulfilled");
+
+ }
+
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java Wed Jun 20 08:28:00 2007
@@ -0,0 +1,46 @@
+/*
+ * 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 supplychain.warehouse;
+
+
+import supplychain.OSGiBundleImpl;
+import supplychain.shipper.Shipper;
+
+/**
+ * This class implements the Warehouse service componentm (OSGi procedural services implementation).
+ */
+
+public class OSGiWarehouseImpl extends OSGiBundleImpl implements Warehouse {
+
+ private Shipper shipper;
+
+ public OSGiWarehouseImpl() {
+ super("supplychain.warehouse.Warehouse", "shipper");
+ }
+
+
+ public void fulfillOrder(String order) {
+ System.out.println("Warehouse.fulfillOrder : shipper is " + shipper);
+
+ shipper.processShipment(order + ", fulfilled");
+
+ }
+
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java Wed Jun 20 08:28:00 2007
@@ -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 supplychain.warehouse;
+
+/**
+ * This is the business interface of the Warehouse service component.
+ */
+public interface Warehouse {
+
+ public void fulfillOrder(String order);
+
+}
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/java/supplychain/warehouse/Warehouse.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType?view=auto&rev=549133
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType (added)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType Wed Jun 20 08:28:00 2007
@@ -0,0 +1,28 @@
+<?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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0">
+ <service name="supplychain.customer.Customer">
+ <interface.java interface="supplychain.customer.Customer"/>
+ </service>
+ <reference name="retailer">
+ <interface.java interface="supplychain.retailer.Retailer"/>
+ </reference>
+
+</componentType>
\ No newline at end of file
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/Customer.componentType
------------------------------------------------------------------------------
svn:mime-type = text/xml
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org