You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/09/14 23:40:52 UTC

svn commit: r575799 [2/12] - in /incubator/tuscany/java/sca: itest/ itest/osgi-contribution/ itest/osgi-contribution/contribution-classes-v2/ itest/osgi-contribution/contribution-classes-v2/src/ itest/osgi-contribution/contribution-classes-v2/src/main/...

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerImpl.java Fri Sep 14 14:40:35 2007
@@ -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 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) {
+        warehouse.fulfillOrder(order + ", submitted");        
+        
+    }
+
+    
+   
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/OSGiRetailerImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/Retailer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/Retailer.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/Retailer.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/Retailer.java Fri Sep 14 14:40:35 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/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/Retailer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/retailer/Retailer.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java Fri Sep 14 14:40:35 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.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;
+    
+    public JavaShipperComponentImpl() {
+        System.out.println("Created " + this.getClass().getCanonicalName() + 
+                "(v2) using classloader " + this.getClass().getClassLoader());
+    }
+    
+    @Reference
+    public void setCustomer(Customer customer) {
+        this.customer = customer;
+    }
+    
+    public void processShipment(String order) {
+        customer.notifyShipment(order + ", shipped");
+    }
+    
+    
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java Fri Sep 14 14:40:35 2007
@@ -0,0 +1,45 @@
+/*
+ * 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) {
+        customer.notifyShipment(order + ", shipped");
+    }
+    
+    
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperImpl.java Fri Sep 14 14:40:35 2007
@@ -0,0 +1,42 @@
+/*
+ * 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) {
+        customer.notifyShipment(order + ", shipped");
+    }
+    
+    
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/OSGiShipperImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/Shipper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/Shipper.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/Shipper.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/Shipper.java Fri Sep 14 14:40:35 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/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/Shipper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/shipper/Shipper.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java Fri Sep 14 14:40:35 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.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;
+    
+    public JavaWarehouseComponentImpl() {
+        System.out.println("Created " + this.getClass().getCanonicalName() + 
+                "(v2) using classloader " + this.getClass().getClassLoader());
+    }
+    
+    @Reference
+    public void setShipper(Shipper shipper) {
+        this.shipper = shipper;
+    }
+    
+    public void fulfillOrder(String order) {
+        shipper.processShipment(order + ", fulfilled");
+    }
+    
+    
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java Fri Sep 14 14:40:35 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.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) {
+        shipper.processShipment(order + ", fulfilled");
+    	
+    }
+    
+   
+
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java Fri Sep 14 14:40:35 2007
@@ -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 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) {
+        shipper.processShipment(order + ", fulfilled");
+    	
+    }
+    
+   
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/Warehouse.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/Warehouse.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/Warehouse.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/Warehouse.java Fri Sep 14 14:40:35 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/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/Warehouse.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/java/supplychain/warehouse/Warehouse.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/Customer2V2.componentType
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/Customer2V2.componentType?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/Customer2V2.componentType (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/Customer2V2.componentType Fri Sep 14 14:40:35 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

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/CustomerV2.componentType
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/CustomerV2.componentType?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/CustomerV2.componentType (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/CustomerV2.componentType Fri Sep 14 14:40:35 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

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/customer-sca-contribution.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/customer-sca-contribution.xml?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/customer-sca-contribution.xml (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/customer-sca-contribution.xml Fri Sep 14 14:40:35 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.    
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+	          targetNamespace="http://supplychain"
+              xmlns:supplychain="http://supplychain">
+   <deployable composite="supplychain:supplychain"/>
+   
+   <export.java package="supplychain.customer"/>
+   <import.java package="supplychain.retailer"/>
+   
+   <import namespace="RetailerV2" location="RetailerV2" />
+   <import namespace="ShipperV2" location="ShipperV2" />
+   <import namespace="WarehouseV2" location="WarehouseV2" />
+   <export namespace="CustomerV2" />
+</contribution>

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/customer-sca-contribution.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/customer-sca-contribution.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/retailer-sca-contribution.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/retailer-sca-contribution.xml?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/retailer-sca-contribution.xml (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/retailer-sca-contribution.xml Fri Sep 14 14:40:35 2007
@@ -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.    
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+	          targetNamespace="http://supplychain"
+              xmlns:supplychain="http://supplychain">
+   <export namespace="RetailerV2" />
+   
+   
+   <export.java package="supplychain.retailer"/>
+   <import.java package="supplychain.warehouse"/>
+   
+</contribution>

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/retailer-sca-contribution.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/retailer-sca-contribution.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/shipper-sca-contribution.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/shipper-sca-contribution.xml?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/shipper-sca-contribution.xml (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/shipper-sca-contribution.xml Fri Sep 14 14:40:35 2007
@@ -0,0 +1,27 @@
+<?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"
+	          targetNamespace="http://supplychain"
+              xmlns:supplychain="http://supplychain">
+   <export namespace="ShipperV2" />
+   
+   <export.java package="supplychain.shipper"/>
+   <import.java package="supplychain.customer"/>
+</contribution>

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/shipper-sca-contribution.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/shipper-sca-contribution.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/supplychain-sca-contribution.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/supplychain-sca-contribution.xml?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/supplychain-sca-contribution.xml (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/supplychain-sca-contribution.xml Fri Sep 14 14:40:35 2007
@@ -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"
+	          targetNamespace="http://supplychain"
+              xmlns:supplychain="http://supplychain">
+   <deployable composite="supplychain:supplychain"/>
+</contribution>

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/supplychain-sca-contribution.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/supplychain-sca-contribution.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/warehouse-sca-contribution.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/warehouse-sca-contribution.xml?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/warehouse-sca-contribution.xml (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/warehouse-sca-contribution.xml Fri Sep 14 14:40:35 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.    
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+	          targetNamespace="http://supplychain"
+              xmlns:supplychain="http://supplychain">
+   <export namespace="WarehouseV2" />
+   
+   
+   <export.java package="supplychain.warehouse"/>
+   <import.java package="supplychain.shipper"/>
+</contribution>

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/warehouse-sca-contribution.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/META-INF/warehouse-sca-contribution.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/RetailerV2.componentType
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/RetailerV2.componentType?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/RetailerV2.componentType (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/RetailerV2.componentType Fri Sep 14 14:40:35 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.retailer.Retailer">
+        <interface.java interface="supplychain.retailer.Retailer"/>
+    </service>
+    <reference name="warehouse">
+            <interface.java interface="supplychain.warehouse.Warehouse"/>
+    </reference>
+      
+</componentType>
\ No newline at end of file

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/ShipperV2.componentType
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/ShipperV2.componentType?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/ShipperV2.componentType (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/ShipperV2.componentType Fri Sep 14 14:40:35 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.shipper.Shipper">
+        <interface.java interface="supplychain.shipper.Shipper"/>
+    </service>
+    <reference name="customer">
+            <interface.java interface="supplychain.customer.Customer"/>
+    </reference>
+      
+</componentType>
\ No newline at end of file

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/WarehouseV2.componentType
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/WarehouseV2.componentType?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/WarehouseV2.componentType (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/WarehouseV2.componentType Fri Sep 14 14:40:35 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.warehouse.Warehouse">
+        <interface.java interface="supplychain.warehouse.Warehouse"/>
+    </service>
+    
+    <reference name="shipper">
+            <interface.java interface="supplychain.shipper.Shipper"/>
+    </reference>
+</componentType>
\ No newline at end of file

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer.mf
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer.mf?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer.mf (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer.mf Fri Sep 14 14:40:35 2007
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Customer
+Bundle-SymbolicName: supplychain.customer.Customer
+Bundle-Version: 2.0.0
+Bundle-Localization: plugin
+Import-Package: org.osgi.framework,
+                supplychain.retailer;version="[2.0.0,3.0.0)",
+                supplychain.shipper;version="[2.0.0,3.0.0)",
+                supplychain.warehouse;version="[2.0.0,3.0.0)"
+Export-Package: supplychain.customer;version="2.0.0"
+Bundle-Activator: supplychain.customer.OSGiCustomerImpl
+

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer2.mf
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer2.mf?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer2.mf (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Customer2.mf Fri Sep 14 14:40:35 2007
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Customer
+Bundle-SymbolicName: supplychain.customer.Customer
+Bundle-Version: 2.0.0
+Bundle-Localization: plugin
+Import-Package: org.osgi.framework,               
+                supplychain.retailer,
+                supplychain.shipper,
+                supplychain.warehouse
+Export-Package: supplychain.customer;version="2.0.0"
+Bundle-Activator: supplychain.customer.OSGiCustomerImpl
+

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Retailer.mf
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Retailer.mf?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Retailer.mf (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Retailer.mf Fri Sep 14 14:40:35 2007
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Retailer
+Bundle-SymbolicName: supplychain.retailer.Retailer
+Bundle-Version: 2.0.0
+Bundle-Localization: plugin
+Import-Package: org.osgi.framework,
+ supplychain.warehouse;version="[2.0.0,3.0.0)"
+Export-Package: supplychain.retailer;version="2.0.0"
+Bundle-Activator: supplychain.retailer.OSGiRetailerImpl

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/RetailerJar.mf
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/RetailerJar.mf?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/RetailerJar.mf (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/RetailerJar.mf Fri Sep 14 14:40:35 2007
@@ -0,0 +1 @@
+Manifest-Version: 1.0

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Shipper.mf
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Shipper.mf?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Shipper.mf (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Shipper.mf Fri Sep 14 14:40:35 2007
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Shipper
+Bundle-SymbolicName: supplychain.shipper.Shipper
+Bundle-Version: 2.0.0
+Bundle-Localization: plugin
+Import-Package: org.osgi.framework,
+                supplychain.customer;version="[2.0.0,3.0.0)"
+Export-Package: supplychain.shipper;version="2.0.0"
+Bundle-Activator: supplychain.shipper.OSGiShipperImpl

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/SupplyChain.mf
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/SupplyChain.mf?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/SupplyChain.mf (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/SupplyChain.mf Fri Sep 14 14:40:35 2007
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SupplyChain
+Bundle-SymbolicName: supplychain.SupplyChain
+Bundle-Version: 2.0.0
+Bundle-Localization: plugin
+Import-Package: org.osgi.framework
+Export-Package: supplychain.customer;version="2.0.0",
+    supplychain.retailer;version="2.0.0",
+    supplychain.warehouse;version="2.0.0",
+    supplychain.shipper;version="2.0.0"
+Bundle-ClassPath: .,CustomerV2.jar,RetailerV2.jar,WarehouseV2.jar,ShipperV2.jar
+

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Warehouse.mf
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Warehouse.mf?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Warehouse.mf (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/osgi/Warehouse.mf Fri Sep 14 14:40:35 2007
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Warehouse
+Bundle-SymbolicName: supplychain.warehouse.Warehouse
+Bundle-Version: 2.0.0
+Bundle-Localization: plugin
+Import-Package: org.osgi.framework,
+                supplychain.shipper;version="[2.0.0,3.0.0)"
+Export-Package: supplychain.warehouse;version="2.0.0"
+Bundle-Activator: supplychain.warehouse.OSGiWarehouseImpl

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/supplychain.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/supplychain.composite?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/supplychain.composite (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes-v2/src/main/resources/supplychain.composite Fri Sep 14 14:40:35 2007
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+	xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+	targetNamespace="http://supplychain"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	xmlns:sp="http://supplychain"
+	name="supplychain">
+	
+    <component name="CustomerComponentV2">
+        <tuscany:implementation.osgi 
+            bundle="Customer" 
+            bundleSymbolicName="supplychain.customer.Customer"
+            bundleVersion="2.0.0"
+        />
+            
+        <!--implementation.java class="supplychain.customer.JavaCustomerComponentImpl" /-->
+        <reference name="retailer" target="RetailerComponentV2" />
+    </component>
+
+    <component name="RetailerComponentV2">
+        <implementation.java class="supplychain.retailer.JavaRetailerComponentImpl" />
+        <!--implementation.osgi
+            bundle="Retailer" 
+            bundleLocation="file:target/Retailer.jar" 
+        /-->
+        <reference name="warehouse" target="WarehouseComponentV2"/>
+    </component>
+
+    <component name="WarehouseComponentV2">
+        <implementation.java class="supplychain.warehouse.JavaWarehouseComponentImpl" />
+        <!--implementation.osgi
+            bundle="Warehouse" 
+            bundleLocation="file:target/Warehouse.jar" 
+        /-->
+        <reference name="shipper" target="ShipperComponentV2" />
+    </component>
+
+    <component name="ShipperComponentV2">
+        <tuscany:implementation.osgi
+            bundle="Shipper"
+            bundleSymbolicName="supplychain.shipper.Shipper"
+            bundleVersion="2.0.0"
+        />
+        <!--implementation.java class="supplychain.shipper.JavaShipperComponentImpl" /-->
+        <reference name="customer" target="CustomerComponentV2" />
+    </component>
+    
+    
+</composite>

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/build-bundles.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/build-bundles.xml?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/build-bundles.xml (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/build-bundles.xml Fri Sep 14 14:40:35 2007
@@ -0,0 +1,39 @@
+<?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">
+
+        <mkdir dir="${jar.dir}"/>
+
+        <copy file="target/classes/META-INF/${sca.contribution}" tofile="target/classes/META-INF/sca-contribution.xml"/>
+
+
+        <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>
+
+        <delete file="target/classes/META-INF/sca-contribution.xml"/>
+    </target>
+
+
+</project>

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/build-bundles.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/build-bundles.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/pom.xml?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/pom.xml (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/pom.xml Fri Sep 14 14:40:35 2007
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-itest</artifactId>
+        <version>1.1-incubating-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>itest-osgi-contribution-classes-v2</artifactId>
+    <name>Apache Tuscany OSGi Contribution Version 2 classes</name>
+
+<dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-embedded</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-osgi</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-contribution-osgi</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-osgi-runtime</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+        
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.2</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <finalName>itest-osgi-contribution-classes</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>1.1</version>
+
+                <dependencies>
+                    <dependency>
+                        <groupId>ant</groupId>
+                        <artifactId>ant-trax</artifactId>
+                        <version>1.6.5</version>
+                    </dependency>
+                </dependencies>
+
+                <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/classes" />
+                                    <property name="files.dir" value="target/classes" />
+                                    <property name="jar.file.name" value="CustomerV1.jar" />
+                                    <property name="manifest.file.name" value="osgi/Customer.mf" />
+                                    <property name="sca.contribution" value="customer-sca-contribution.xml" />
+                                    <property name="files.list"
+                                        value="supplychain/customer/* \
+                                               supplychain/OSGiBundleImpl.class \
+                                               supplychain.composite \
+                                               CustomerV1.componentType \
+                                               RetailerV1.componentType \
+                                               WarehouseV1.componentType \
+                                               ShipperV1.componentType \
+                                               META-INF/sca-contribution.xml" />
+
+                                </ant>
+                                <ant antfile="./build-bundles.xml" target="create-bundles">
+                                    <property name="jar.dir" value="target/classes" />
+                                    <property name="files.dir" value="target/classes" />
+                                    <property name="jar.file.name" value="Customer2V1.jar" />
+                                    <property name="manifest.file.name" value="osgi/Customer2.mf" />
+                                    <property name="sca.contribution" value="customer-sca-contribution.xml" />
+                                    <property name="files.list"
+                                        value="supplychain/customer/* \
+                                               supplychain/OSGiBundleImpl.class \
+                                               supplychain.composite \
+                                               Customer2V1.componentType \
+                                               RetailerV1.componentType \
+                                               WarehouseV1.componentType \
+                                               ShipperV1.componentType \
+                                               META-INF/sca-contribution.xml" />
+
+                                </ant>
+                                <ant antfile="./build-bundles.xml" target="create-bundles">
+                                    <property name="jar.dir" value="target/classes" />
+                                    <property name="files.dir" value="target/classes" />
+                                    <property name="jar.file.name" value="RetailerV1.jar" />
+                                    <property name="manifest.file.name" value="osgi/Retailer.mf" />
+                                    <property name="sca.contribution" value="retailer-sca-contribution.xml" />
+                                    <property name="files.list"
+                                        value="supplychain/retailer/* \
+                                               supplychain/OSGiBundleImpl.class \
+                                               META-INF/sca-contribution.xml" />
+                                </ant>
+                                <ant antfile="./build-bundles.xml" target="create-bundles">
+                                    <property name="jar.dir" value="target/classes" />
+                                    <property name="files.dir" value="target/classes" />
+                                    <property name="jar.file.name" value="RetailerJarV1.jar" />
+                                    <property name="manifest.file.name" value="osgi/RetailerJar.mf" />
+                                    <property name="sca.contribution" value="retailer-sca-contribution.xml" />
+                                    <property name="files.list"
+                                        value="supplychain/retailer/* \
+                                               supplychain/OSGiBundleImpl.class \
+                                               META-INF/sca-contribution.xml" />
+                                </ant>
+                                <ant antfile="./build-bundles.xml" target="create-bundles">
+                                    <property name="jar.dir" value="target/classes" />
+                                    <property name="files.dir" value="target/classes" />
+                                    <property name="jar.file.name" value="ShipperV1.jar" />
+                                    <property name="manifest.file.name" value="osgi/Shipper.mf" />
+                                    <property name="sca.contribution" value="shipper-sca-contribution.xml" />
+                                    <property name="files.list"
+                                        value="supplychain/shipper/* \
+                                               supplychain/OSGiBundleImpl.class \
+                                               META-INF/sca-contribution.xml" />
+
+                                </ant>
+                                <ant antfile="./build-bundles.xml" target="create-bundles">
+                                    <property name="jar.dir" value="target/classes" />
+                                    <property name="files.dir" value="target/classes" />
+                                    <property name="jar.file.name" value="WarehouseV1.jar" />
+                                    <property name="manifest.file.name" value="osgi/Warehouse.mf" />
+                                    <property name="sca.contribution" value="warehouse-sca-contribution.xml" />
+                                    <property name="files.list"
+                                        value="supplychain/warehouse/* \
+                                               supplychain/OSGiBundleImpl.class \
+                                               META-INF/sca-contribution.xml" />
+
+                                </ant>
+                                <ant antfile="./build-bundles.xml" target="create-bundles">
+                                    <property name="jar.dir" value="target/classes" />
+                                    <property name="files.dir" value="target/classes" />
+                                    <property name="jar.file.name" value="SupplyChainV1.jar" />
+                                    <property name="manifest.file.name" value="osgi/SupplyChain.mf" />
+                                    <property name="sca.contribution" value="supplychain-sca-contribution.xml" />
+                                    <property name="files.list"
+                                        value="supplychain/** \
+                                               supplychain.composite \
+                                               CustomerV1.componentType \
+                                               RetailerV1.componentType \
+                                               WarehouseV1.componentType \
+                                               ShipperV1.componentType \
+                                               CustomerV1.jar \
+                                               RetailerV1.jar \
+                                               WarehouseV1.jar \
+                                               ShipperV1.jar \
+                                               META-INF/sca-contribution.xml" />
+                                </ant>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/OSGiBundleImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/OSGiBundleImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/OSGiBundleImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/OSGiBundleImpl.java Fri Sep 14 14:40:35 2007
@@ -0,0 +1,121 @@
+/*
+ * 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) {
+        
+        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 OSGi bundle with activator " + 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 OSGi bundle with activator " + 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/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/OSGiBundleImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/OSGiBundleImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/Customer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/Customer.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/Customer.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/Customer.java Fri Sep 14 14:40:35 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/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/Customer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/Customer.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java Fri Sep 14 14:40:35 2007
@@ -0,0 +1,55 @@
+/*
+ * 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;
+    
+    public JavaCustomerComponentImpl() {
+        System.out.println("Created " + this.getClass().getCanonicalName() + 
+                " using classloader " + this.getClass().getClassLoader());
+    }
+    
+    @Reference
+    public void setRetailer(Retailer retailer) {
+        this.retailer = retailer;
+    }
+    
+    public void purchaseGoods() {
+        retailer.submitOrder("Order");
+    }
+    
+    public void notifyShipment(String order) {
+        System.out.print("Work thread " + Thread.currentThread() + " - ");
+        System.out.println(order);
+    }
+
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java?rev=575799&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java (added)
+++ incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java Fri Sep 14 14:40:35 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 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() {
+        retailer.submitOrder("Order");
+    }
+    
+    public void notifyShipment(String order) {
+        System.out.print("Work thread " + Thread.currentThread() + " - ");
+        System.out.println(order);
+    }
+    
+
+}

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/itest/osgi-contribution/contribution-classes/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org