Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java Tue Feb 19 01:41:25 2008 @@ -29,11 +29,6 @@ import conversation.client.ConversationalClient; import conversation.client.ConversationalClientStatefulImpl; import conversation.client.ConversationalClientStatelessImpl; -import conversation.referenceclient.ConversationalReferenceClient; -import conversation.referenceclient.ConversationalReferenceClientImpl; -import conversation.service.ConversationalService; -import conversation.service.ConversationalServiceStatefulImpl; -import conversation.service.ConversationalServiceStatelessImpl; /* * OSGi bundle activator for conversation tests
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java Tue Feb 19 01:41:25 2008 @@ -108,7 +108,7 @@ } public void ungetService(Bundle bundle, ServiceRegistration reg, Object obj) { - bundle.getBundleContext().ungetService(reg.getReference()); + } private ServiceReference getServiceReference(String name, String filter) throws Exception { Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java Tue Feb 19 01:41:25 2008 @@ -44,7 +44,7 @@ } public void ungetService(Bundle bundle, ServiceRegistration reg, Object obj) { - bundle.getBundleContext().ungetService(reg.getReference()); + } Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java Tue Feb 19 01:41:25 2008 @@ -36,7 +36,7 @@ private Retailer retailer2; private Retailer retailer3; - private ArrayList<String> outstandingOrders = new ArrayList<String>(); + private static ArrayList<String> outstandingOrders = new ArrayList<String>(); public OSGiCustomerComponentImpl() { System.out.println("Created OSGiCustomerComponentImpl " + this); @@ -47,7 +47,7 @@ } protected void unsetRetailer1(Retailer retailer1) { - this.retailer1 = null; + // this.retailer1 = null; } @@ -56,32 +56,34 @@ } protected void unsetRetailer2(Retailer retailer2) { - this.retailer2 = null; + // this.retailer2 = null; } - protected void setRetailer3(Retailer retailer2) { - this.retailer3 = retailer2; + protected void setRetailer3(Retailer retailer3) { + this.retailer3 = retailer3; } - protected void unsetRetailer3(Retailer retailer2) { - this.retailer3 = null; + protected void unsetRetailer3(Retailer retailer3) { + // this.retailer3 = null; } - + + public void purchaseBooks() { - System.out.println("OSGiCustomerComponentImpl.purchaseBooks"); + System.out.println("OSGiCustomerComponentImpl.purchaseBooks, retailer1 is " + retailer1); outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (ParcelForce)"); retailer1.submitOrder("Order"); } public void purchaseGames() { - System.out.println("OSGiCustomerComponentImpl.purchaseGames"); + System.out.println("OSGiCustomerComponentImpl.purchaseGames, retailer2 is " + retailer2); outstandingOrders.add("Order, submitted (play.com), fulfilled, shipped (ParcelForce)"); retailer2.submitOrder("Order"); } public void purchaseGoods() { - retailer3.submitOrder("Order"); + System.out.println("OSGiCustomerComponentImpl.purchaseGames, retailer3 is " + retailer3); + retailer3.submitOrder("Order"); } public void notifyShipment(String order) { Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java Tue Feb 19 01:41:25 2008 @@ -47,7 +47,7 @@ } protected void unsetRetailer(Retailer retailer) { - this.retailer = null; + // this.retailer = null; } @@ -56,7 +56,7 @@ } protected void unsetRetailerQuery(RetailerQuery retailerQuery) { - this.retailerQuery = null; + // this.retailerQuery = null; } public void purchaseBooks() { Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java Tue Feb 19 01:41:25 2008 @@ -36,7 +36,7 @@ } protected void unsetWarehouse(Warehouse warehouse) { - this.warehouse = null; + // this.warehouse = null; } public void submitOrder(String order) { Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java Tue Feb 19 01:41:25 2008 @@ -38,7 +38,7 @@ } protected void unsetWarehouse(Warehouse warehouse) { - this.warehouse = null; + // this.warehouse = null; } protected void setWarehouseQuery(WarehouseQuery warehouseQuery) { @@ -46,7 +46,7 @@ } protected void unsetWarehouseQuery(WarehouseQuery warehouse) { - this.warehouseQuery = null; + // this.warehouseQuery = null; } public void submitOrder(String order) { Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java Tue Feb 19 01:41:25 2008 @@ -36,7 +36,7 @@ } protected void unsetCustomer(Customer customer) { - this.customer = null; + // this.customer = null; } public void processShipment(String order) { Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java Tue Feb 19 01:41:25 2008 @@ -36,7 +36,7 @@ } protected void unsetShipper(Shipper shipper) { - this.shipper = null; + // this.shipper = null; } public void fulfillOrder(String order) { Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties (original) +++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties Tue Feb 19 01:41:25 2008 @@ -22,16 +22,16 @@ org.osgi.framework.system.packages=org.osgi.framework; version=1.3.0, \ org.osgi.service.packageadmin; version=1.2.0, \ org.osgi.service.startlevel; version=1.0.0, \ - org.osgi.service.url; version=1.0.0 + org.osgi.service.url; version=1.0.0 \ + org.osgi.util.tracker; version=1.3.2 felix.auto.start.1= \ "file://${FELIX_DIR}/org.apache.felix.shell/1.0.0/org.apache.felix.shell-1.0.0.jar" \ "file://${FELIX_DIR}/org.apache.felix.shell.tui/1.0.0/org.apache.felix.shell.tui-1.0.0.jar" \ - "file://${FELIX_DIR}/org.apache.felix.bundlerepository/1.0.0/org.apache.felix.bundlerepository-1.0.0.jar" \ - "file://${FELIX_DIR}/org.apache.felix.scr/0.9.0-SNAPSHOT/org.apache.felix.scr-0.9.0-SNAPSHOT.jar" \ - "file://${FELIX_DIR}/org.apache.felix.log/0.9.0-incubator-SNAPSHOT/org.apache.felix.log-0.9.0-incubator-SNAPSHOT.jar" \ - "file://${FELIX_DIR}/org.apache.felix.configadmin/0.9.0-SNAPSHOT/org.apache.felix.configadmin-0.9.0-SNAPSHOT.jar" + "file://${FELIX_DIR}/org.apache.felix.bundlerepository/1.0.2/org.apache.felix.bundlerepository-1.0.2.jar" \ + "file://${FELIX_DIR}/org.apache.felix.scr/1.0.0/org.apache.felix.scr-1.0.0.jar" \ + "file://${FELIX_DIR}/org.apache.felix.configadmin/1.0.0/org.apache.felix.configadmin-1.0.0.jar" felix.startlevel.framework=1 @@ -40,5 +40,5 @@ # # Bundle config properties. # -org.osgi.service.http.port=8085 +org.osgi.service.http.port=8080 obr.shell.telnet=on Modified: incubator/tuscany/java/sca/modules/contribution-osgi/pom.xml URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-osgi/pom.xml?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/modules/contribution-osgi/pom.xml (original) +++ incubator/tuscany/java/sca/modules/contribution-osgi/pom.xml Tue Feb 19 01:41:25 2008 @@ -50,7 +50,7 @@ <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.main</artifactId> - <version>1.0.1</version> + <version>1.1.0-SNAPSHOT</version> </dependency> Modified: incubator/tuscany/java/sca/modules/implementation-osgi/pom.xml URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/pom.xml?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/modules/implementation-osgi/pom.xml (original) +++ incubator/tuscany/java/sca/modules/implementation-osgi/pom.xml Tue Feb 19 01:41:25 2008 @@ -35,7 +35,7 @@ <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.main</artifactId> - <version>1.0.1</version> + <version>1.1.0-SNAPSHOT</version> </dependency> Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java (original) +++ incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java Tue Feb 19 01:41:25 2008 @@ -121,11 +121,10 @@ } InstanceInfo<T> instanceInfo = new InstanceInfo<T>(); - - instanceInfo.osgiServiceReference = provider.getOSGiServiceReference(service); + instanceInfo.refBundleContext = refBundle.getBundleContext(); - instanceInfo.osgiInstance = getInstanceObject(instanceInfo); + instanceInfo.osgiInstance = getInstanceObject(instanceInfo, service); try { @@ -196,8 +195,23 @@ } @SuppressWarnings("unchecked") - private T getInstanceObject(InstanceInfo<T> instanceInfo) { - return (T)instanceInfo.refBundleContext.getService(instanceInfo.osgiServiceReference); + private T getInstanceObject(InstanceInfo<T> instanceInfo, ComponentService service) { + + /** + * Since implementation.osgi is not well integrated with the OSGi lifecycle + * it is possible that the service is deactivated before the service instance + * is obtained when using declarative services. Retry in this case. + */ + int maxRetries = 10; + for (int i = 0; i < maxRetries; i++) { + instanceInfo.osgiServiceReference = provider.getOSGiServiceReference(service); + if (instanceInfo.osgiServiceReference == null) + return null; + T obj = (T)instanceInfo.refBundleContext.getService(instanceInfo.osgiServiceReference); + if (obj != null) + return obj; + } + return null; } private Bundle getDummyReferenceBundle() throws TargetInitializationException { Modified: incubator/tuscany/java/sca/modules/osgi-runtime/pom.xml URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/osgi-runtime/pom.xml?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/modules/osgi-runtime/pom.xml (original) +++ incubator/tuscany/java/sca/modules/osgi-runtime/pom.xml Tue Feb 19 01:41:25 2008 @@ -35,7 +35,7 @@ <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.main</artifactId> - <version>1.0.1</version> + <version>1.1.0-SNAPSHOT</version> </dependency> Modified: incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java (original) +++ incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java Tue Feb 19 01:41:25 2008 @@ -90,6 +90,7 @@ "org.osgi.service.packageadmin; version=1.2.0, " + "org.osgi.service.startlevel; version=1.0.0, " + "org.osgi.service.url; version=1.0.0, " + + "org.osgi.util.tracker; version=1.3.2, " + "org.osoa.sca.annotations; version=1.0.0, " + "org.osoa.sca; version=1.0.0"); @@ -97,6 +98,12 @@ try { Constructor felixConstructor = felixClass.getConstructor(Map.class, List.class); List<BundleActivator> activators = new ArrayList<BundleActivator>(); + + Class<?> autoActivatorClass = cl.loadClass("org.apache.felix.main.AutoActivator"); + Constructor autoActivatorConstructor = autoActivatorClass.getConstructor(Map.class); + BundleActivator autoActivator = (BundleActivator)autoActivatorConstructor.newInstance(props); + activators.add(autoActivator); + felix = felixConstructor.newInstance(props, activators); ((Bundle)felix).start(); bundleContext = ((Bundle)felix).getBundleContext(); Modified: incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml?rev=629049&r1=629048&r2=629049&view=diff ============================================================================== --- incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml (original) +++ incubator/tuscany/java/sca/samples/osgi-supplychain/pom.xml Tue Feb 19 01:41:25 2008 @@ -33,7 +33,7 @@ <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.main</artifactId> - <version>1.0.1</version> + <version>1.1.0-SNAPSHOT</version> </dependency> <dependency> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
