From 5559ef5edbf8d3616f7a4b497b2a459b0ee4082b Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 11 Nov 2009 23:07:07 +0000 Subject: Moving 1.x branches git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835122 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/callback/client/CallbackCallback.java | 33 ++ .../main/java/callback/client/CallbackClient.java | 31 ++ .../callback/client/JavaCallbackClientImpl.java | 139 +++++++++ .../callback/client/OSGiCallbackClientImpl.java | 181 +++++++++++ .../java/callback/service/CallbackService.java | 39 +++ .../callback/service/JavaCallbackServiceImpl.java | 68 +++++ .../callback/service/OSGiCallbackServiceImpl.java | 95 ++++++ .../client/ConversationalCallback.java | 50 ++++ .../conversation/client/ConversationalClient.java | 51 ++++ .../client/ConversationalClientActivator.java | 124 ++++++++ .../client/ConversationalClientServiceFactory.java | 135 +++++++++ .../client/ConversationalClientStatefulImpl.java | 254 ++++++++++++++++ .../client/ConversationalClientStatelessImpl.java | 253 ++++++++++++++++ .../ConversationalReferenceClient.java | 38 +++ .../ConversationalReferenceClientActivator.java | 66 ++++ .../ConversationalReferenceClientImpl.java | 43 +++ .../service/ConversationalService.java | 65 ++++ .../service/ConversationalServiceActivator.java | 76 +++++ .../service/ConversationalServiceFactory.java | 52 ++++ .../service/ConversationalServiceStatefulImpl.java | 121 ++++++++ .../ConversationalServiceStatelessImpl.java | 127 ++++++++ .../src/main/java/helloworld/Greetings.java | 36 +++ .../src/main/java/helloworld/HelloWorld.java | 29 ++ .../java/helloworld/JavaGreetingsComponent.java | 73 +++++ .../java/helloworld/JavaHelloWorldComponent.java | 41 +++ .../main/java/helloworld/OSGiGreetingsImpl.java | 112 +++++++ .../main/java/helloworld/OSGiHelloWorldImpl.java | 81 +++++ .../src/main/java/helloworld/ws/HelloWorld.java | 29 ++ .../main/java/helloworld/ws/HelloWorldService.java | 28 ++ .../stockquote/OSGiStockQuoteComponentImpl.java | 86 ++++++ .../java/stockquote/OSGiStockQuoteFactoryImpl.java | 65 ++++ .../main/java/stockquote/OSGiStockQuoteImpl.java | 119 ++++++++ .../src/main/java/stockquote/StockQuote.java | 31 ++ .../src/main/java/supplychain/OSGiBundleImpl.java | 163 ++++++++++ .../main/java/supplychain/customer/Customer.java | 39 +++ .../customer/JavaCustomerComponentImpl.java | 88 ++++++ .../customer/OSGiCustomerComponentImpl.java | 104 +++++++ .../customer/OSGiCustomerFactoryImpl.java | 65 ++++ .../supplychain/customer/OSGiCustomerImpl.java | 92 ++++++ .../OSGiCustomerWithQueryComponentImpl.java | 100 +++++++ .../customer/OSGiCustomerWithQueryImpl.java | 82 +++++ .../OSGiStatelessCustomerComponentImpl.java | 30 ++ .../customer/OSGiStatelessCustomerImpl.java | 35 +++ .../customer/OSGiVersionedCustomerImpl.java | 98 ++++++ .../retailer/JavaRetailerComponentImpl.java | 67 +++++ .../retailer/OSGiRetailerComponentImpl.java | 64 ++++ .../supplychain/retailer/OSGiRetailerImpl.java | 58 ++++ .../retailer/OSGiRetailerServiceImpl.java | 45 +++ .../OSGiRetailerWithQueryComponentImpl.java | 78 +++++ .../retailer/OSGiRetailerWithQueryImpl.java | 64 ++++ .../retailer/OSGiVersionedRetailerImpl.java | 75 +++++ .../retailer/OSGiVersionedRetailerServiceImpl.java | 47 +++ .../main/java/supplychain/retailer/Retailer.java | 28 ++ .../java/supplychain/retailer/RetailerQuery.java | 28 ++ .../shipper/JavaShipperComponentImpl.java | 58 ++++ .../shipper/OSGiShipperComponentImpl.java | 62 ++++ .../shipper/OSGiShipperFactoryImpl.java | 78 +++++ .../java/supplychain/shipper/OSGiShipperImpl.java | 57 ++++ .../shipper/OSGiShipperServiceImpl.java | 43 +++ .../shipper/OSGiStatelessShipperComponentImpl.java | 30 ++ .../shipper/OSGiStatelessShipperServiceImpl.java | 35 +++ .../shipper/OSGiVersionedShipperImpl.java | 78 +++++ .../shipper/OSGiVersionedShipperServiceImpl.java | 46 +++ .../src/main/java/supplychain/shipper/Shipper.java | 28 ++ .../warehouse/JavaWarehouseComponentImpl.java | 48 +++ .../JavaWarehouseWithQueryComponentImpl.java | 52 ++++ .../warehouse/OSGiWarehouseComponentImpl.java | 57 ++++ .../supplychain/warehouse/OSGiWarehouseImpl.java | 68 +++++ .../warehouse/OSGiWarehouseServiceImpl.java | 62 ++++ .../main/java/supplychain/warehouse/Warehouse.java | 28 ++ .../java/supplychain/warehouse/WarehouseQuery.java | 28 ++ .../src/main/resources/META-INF/LICENSE.txt | 202 +++++++++++++ .../src/main/resources/META-INF/NOTICE | 14 + .../src/main/resources/META-INF/README.txt | 35 +++ .../main/resources/META-INF/sca-contribution.xml | 24 ++ .../callback/CallbackClient.componentType | 31 ++ .../callback/CallbackService.componentType | 27 ++ .../resources/callback/callback-test1.composite | 39 +++ .../resources/callback/callback-test2.composite | 41 +++ .../resources/callback/callback-test3.composite | 38 +++ .../ConversationalClient.componentType | 37 +++ .../ConversationalReferenceClient.componentType | 28 ++ .../ConversationalService.componentType | 29 ++ .../conversation/conversation-test.composite | 162 ++++++++++ .../main/resources/factory/Customer.componentType | 34 +++ .../main/resources/factory/Retailer.componentType | 29 ++ .../main/resources/factory/Shipper.componentType | 29 ++ .../main/resources/factory/Warehouse.componentType | 28 ++ .../resources/factory/ds/Customer.componentType | 34 +++ .../resources/factory/ds/Retailer.componentType | 29 ++ .../resources/factory/ds/Shipper.componentType | 29 ++ .../resources/factory/ds/Warehouse.componentType | 28 ++ .../resources/factory/factory-ds-test.composite | 130 ++++++++ .../main/resources/factory/factory-test.composite | 116 +++++++ .../resources/helloworld/Greetings.componentType | 30 ++ .../resources/helloworld/HelloWorld.componentType | 31 ++ .../resources/interfaces/Customer.componentType | 31 ++ .../resources/interfaces/Retailer.componentType | 35 +++ .../resources/interfaces/Shipper.componentType | 29 ++ .../resources/interfaces/Warehouse.componentType | 31 ++ .../resources/interfaces/ds/Customer.componentType | 31 ++ .../resources/interfaces/ds/Retailer.componentType | 35 +++ .../resources/interfaces/ds/Shipper.componentType | 29 ++ .../interfaces/ds/Warehouse.componentType | 31 ++ .../interfaces/interfaces-ds-test.composite | 57 ++++ .../resources/interfaces/interfaces-test.composite | 57 ++++ .../main/resources/osgi/callback/CallbackClient.mf | 10 + .../resources/osgi/callback/CallbackService.mf | 10 + .../osgi/conversation/ConversationalClient.mf | 11 + .../conversation/ConversationalReferenceClient.mf | 11 + .../osgi/conversation/ConversationalService.mf | 11 + .../src/main/resources/osgi/factory/Customer.mf | 11 + .../src/main/resources/osgi/factory/Retailer.mf | 10 + .../src/main/resources/osgi/factory/Shipper.mf | 10 + .../src/main/resources/osgi/factory/ds/Customer.mf | 10 + .../main/resources/osgi/factory/ds/Customer.xml | 41 +++ .../src/main/resources/osgi/factory/ds/Retailer.mf | 11 + .../main/resources/osgi/factory/ds/Retailer1.xml | 32 ++ .../main/resources/osgi/factory/ds/Retailer2.xml | 32 ++ .../src/main/resources/osgi/factory/ds/Shipper.mf | 10 + .../main/resources/osgi/factory/ds/Shipper1.xml | 34 +++ .../main/resources/osgi/factory/ds/Shipper2.xml | 34 +++ .../main/resources/osgi/factory/ds/Warehouse.mf | 11 + .../main/resources/osgi/factory/ds/Warehouse.xml | 32 ++ .../src/main/resources/osgi/interfaces/Customer.mf | 11 + .../src/main/resources/osgi/interfaces/Retailer.mf | 10 + .../src/main/resources/osgi/interfaces/Shipper.mf | 10 + .../main/resources/osgi/interfaces/ds/Customer.mf | 10 + .../main/resources/osgi/interfaces/ds/Customer.xml | 43 +++ .../main/resources/osgi/interfaces/ds/Retailer.mf | 11 + .../main/resources/osgi/interfaces/ds/Retailer.xml | 39 +++ .../main/resources/osgi/interfaces/ds/Shipper.mf | 10 + .../main/resources/osgi/interfaces/ds/Shipper.xml | 34 +++ .../src/main/resources/osgi/passbyref/Greetings.mf | 11 + .../osgi/properties/ManagedStockQuoteFactory.mf | 11 + .../main/resources/osgi/properties/StockQuote.mf | 10 + .../resources/osgi/properties/StockQuoteFactory.mf | 11 + .../resources/osgi/properties/ds/StockQuote.mf | 12 + .../resources/osgi/properties/ds/StockQuote.xml | 27 ++ .../osgi/properties/ds/StockQuoteFactory.mf | 12 + .../osgi/properties/ds/StockQuoteFactory.xml | 27 ++ .../src/main/resources/osgi/services/Customer.mf | 11 + .../src/main/resources/osgi/services/Retailer.mf | 10 + .../src/main/resources/osgi/services/Shipper.mf | 10 + .../src/main/resources/osgi/services/Warehouse.mf | 10 + .../main/resources/osgi/services/ds/Customer.mf | 10 + .../main/resources/osgi/services/ds/Customer.xml | 41 +++ .../main/resources/osgi/services/ds/Retailer.mf | 11 + .../main/resources/osgi/services/ds/Retailer1.xml | 32 ++ .../main/resources/osgi/services/ds/Retailer2.xml | 32 ++ .../src/main/resources/osgi/services/ds/Shipper.mf | 10 + .../main/resources/osgi/services/ds/Shipper1.xml | 34 +++ .../main/resources/osgi/services/ds/Shipper2.xml | 34 +++ .../main/resources/osgi/services/ds/Warehouse.mf | 11 + .../main/resources/osgi/services/ds/Warehouse1.xml | 32 ++ .../main/resources/osgi/services/ds/Warehouse2.xml | 32 ++ .../src/main/resources/osgi/version/Customer1.mf | 11 + .../src/main/resources/osgi/version/Customer2.mf | 11 + .../src/main/resources/osgi/version/Retailer1.mf | 10 + .../src/main/resources/osgi/version/Retailer2.mf | 10 + .../src/main/resources/osgi/version/Shipper1.mf | 10 + .../src/main/resources/osgi/version/Shipper2.mf | 10 + .../src/main/resources/osgi/version/Warehouse1.mf | 10 + .../src/main/resources/osgi/version/Warehouse2.mf | 10 + .../main/resources/osgi/version/ds/Customer1.mf | 10 + .../main/resources/osgi/version/ds/Customer2.mf | 10 + .../main/resources/osgi/version/ds/CustomerV1.xml | 41 +++ .../main/resources/osgi/version/ds/CustomerV2.xml | 41 +++ .../main/resources/osgi/version/ds/Retailer1.mf | 11 + .../main/resources/osgi/version/ds/Retailer1V1.xml | 34 +++ .../main/resources/osgi/version/ds/Retailer1V2.xml | 34 +++ .../main/resources/osgi/version/ds/Retailer2.mf | 11 + .../main/resources/osgi/version/ds/Retailer2V1.xml | 33 ++ .../main/resources/osgi/version/ds/Retailer2V2.xml | 33 ++ .../src/main/resources/osgi/version/ds/Shipper1.mf | 10 + .../main/resources/osgi/version/ds/Shipper1V1.xml | 35 +++ .../main/resources/osgi/version/ds/Shipper1V2.xml | 35 +++ .../src/main/resources/osgi/version/ds/Shipper2.mf | 10 + .../main/resources/osgi/version/ds/Shipper2V1.xml | 35 +++ .../main/resources/osgi/version/ds/Shipper2V2.xml | 35 +++ .../main/resources/osgi/version/ds/Warehouse1.mf | 11 + .../resources/osgi/version/ds/Warehouse1V1.xml | 32 ++ .../resources/osgi/version/ds/Warehouse1V2.xml | 32 ++ .../main/resources/osgi/version/ds/Warehouse2.mf | 11 + .../resources/osgi/version/ds/Warehouse2V1.xml | 32 ++ .../resources/osgi/version/ds/Warehouse2V2.xml | 32 ++ .../src/main/resources/osgi/wiring/Customer.mf | 11 + .../src/main/resources/osgi/wiring/Retailer.mf | 10 + .../src/main/resources/osgi/wiring/Shipper.mf | 10 + .../src/main/resources/osgi/wiring/Warehouse.mf | 10 + .../src/main/resources/osgi/wiring/ds/Customer.mf | 10 + .../src/main/resources/osgi/wiring/ds/Customer.xml | 41 +++ .../src/main/resources/osgi/wiring/ds/Retailer.mf | 11 + .../main/resources/osgi/wiring/ds/Retailer1.xml | 33 ++ .../main/resources/osgi/wiring/ds/Retailer2.xml | 33 ++ .../src/main/resources/osgi/wiring/ds/Shipper.mf | 10 + .../src/main/resources/osgi/wiring/ds/Shipper1.xml | 35 +++ .../src/main/resources/osgi/wiring/ds/Shipper2.xml | 34 +++ .../src/main/resources/osgi/wiring/ds/Warehouse.mf | 11 + .../main/resources/osgi/wiring/ds/Warehouse1.xml | 33 ++ .../main/resources/osgi/wiring/ds/Warehouse2.xml | 33 ++ .../src/main/resources/osgi/ws/HelloWorld.mf | 12 + .../resources/passbyref/Greetings.componentType | 30 ++ .../resources/passbyref/passbyref-test.composite | 39 +++ .../resources/properties/StockQuote.componentType | 28 ++ .../properties/StockQuoteFactory.componentType | 28 ++ .../properties/ds/StockQuote.componentType | 28 ++ .../properties/ds/StockQuoteFactory.componentType | 28 ++ .../properties/properties-ds-test.composite | 39 +++ .../resources/properties/properties-test.composite | 39 +++ .../properties/properties2-ds-test.composite | 54 ++++ .../properties/properties2-test.composite | 50 ++++ .../main/resources/services/Customer.componentType | 34 +++ .../main/resources/services/Retailer.componentType | 33 ++ .../main/resources/services/Shipper.componentType | 30 ++ .../resources/services/Warehouse.componentType | 28 ++ .../resources/services/ds/Customer.componentType | 34 +++ .../resources/services/ds/Retailer.componentType | 33 ++ .../resources/services/ds/Shipper.componentType | 30 ++ .../resources/services/ds/Warehouse.componentType | 28 ++ .../resources/services/services-ds-test.composite | 90 ++++++ .../resources/services/services-test.composite | 89 ++++++ .../resources/stockquote/StockQuote.componentType | 28 ++ .../main/resources/version/Customer1.componentType | 34 +++ .../main/resources/version/Customer2.componentType | 34 +++ .../main/resources/version/Retailer1.componentType | 33 ++ .../main/resources/version/Retailer2.componentType | 33 ++ .../main/resources/version/Shipper1.componentType | 30 ++ .../main/resources/version/Shipper2.componentType | 30 ++ .../resources/version/Warehouse1.componentType | 28 ++ .../resources/version/Warehouse2.componentType | 28 ++ .../resources/version/ds/Customer1.componentType | 34 +++ .../resources/version/ds/Customer2.componentType | 34 +++ .../resources/version/ds/Retailer1.componentType | 33 ++ .../resources/version/ds/Retailer2.componentType | 33 ++ .../resources/version/ds/Shipper1.componentType | 30 ++ .../resources/version/ds/Shipper2.componentType | 30 ++ .../resources/version/ds/Warehouse1.componentType | 28 ++ .../resources/version/ds/Warehouse2.componentType | 28 ++ .../resources/version/version-ds-test.composite | 184 ++++++++++++ .../main/resources/version/version-test.composite | 170 +++++++++++ .../main/resources/wiring/Customer.componentType | 34 +++ .../main/resources/wiring/Retailer.componentType | 29 ++ .../main/resources/wiring/Shipper.componentType | 29 ++ .../main/resources/wiring/Warehouse.componentType | 28 ++ .../resources/wiring/ds/Customer.componentType | 34 +++ .../resources/wiring/ds/Retailer.componentType | 29 ++ .../main/resources/wiring/ds/Shipper.componentType | 29 ++ .../resources/wiring/ds/Warehouse.componentType | 28 ++ .../resources/wiring/wiring-ds-test1.composite | 136 +++++++++ .../resources/wiring/wiring-ds-test2.composite | 151 ++++++++++ .../main/resources/wiring/wiring-test1.composite | 127 ++++++++ .../main/resources/wiring/wiring-test2.composite | 151 ++++++++++ .../src/main/resources/ws/HelloWorld.componentType | 31 ++ .../src/main/resources/ws/helloworld.wsdl | 80 +++++ .../src/main/resources/ws/ws-helloworld.composite | 51 ++++ .../src/test/java/callback/Callback1TestCase.java | 30 ++ .../src/test/java/callback/Callback2TestCase.java | 29 ++ .../src/test/java/callback/Callback3TestCase.java | 29 ++ .../src/test/java/callback/CallbackTestCase.java | 63 ++++ .../java/conversation/ConversationTestCase.java | 332 +++++++++++++++++++++ .../helloworld/passbyref/PassByRefTestCase.java | 136 +++++++++ .../java/helloworld/ws/HelloWorldTestCase.java | 55 ++++ .../test/java/supplychain/SupplyChainTestCase.java | 79 +++++ .../supplychain/VersionedSupplyChainTestCase.java | 82 +++++ .../supplychain/factory/DSFactoryTestCase.java | 32 ++ .../java/supplychain/factory/FactoryTestCase.java | 52 ++++ .../interfaces/DSInterfacesTestCase.java | 32 ++ .../supplychain/interfaces/InterfacesTestCase.java | 32 ++ .../properties/DSProperties2TestCase.java | 31 ++ .../properties/DSPropertiesTestCase.java | 31 ++ .../properties/Properties2TestCase.java | 83 ++++++ .../supplychain/properties/PropertiesTestCase.java | 73 +++++ .../supplychain/services/DSServicesTestCase.java | 32 ++ .../supplychain/services/ServicesTestCase.java | 32 ++ .../supplychain/version/DSVersionTestCase.java | 33 ++ .../java/supplychain/version/VersionTestCase.java | 33 ++ .../java/supplychain/wiring/DSWiring1TestCase.java | 33 ++ .../java/supplychain/wiring/DSWiring2TestCase.java | 33 ++ .../java/supplychain/wiring/Wiring1TestCase.java | 32 ++ .../java/supplychain/wiring/Wiring2TestCase.java | 32 ++ .../src/test/java/util/OSGiTestUtil.java | 71 +++++ .../resources/osgi/felix/felix.config.properties | 44 +++ 283 files changed, 12853 insertions(+) create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackCallback.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackClient.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/OSGiCallbackClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/CallbackService.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/JavaCallbackServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/OSGiCallbackServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalCallback.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClient.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClient.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientActivator.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalService.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceActivator.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatefulImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatelessImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/Greetings.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/HelloWorld.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaGreetingsComponent.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaHelloWorldComponent.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiGreetingsImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiHelloWorldImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorld.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorldService.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteFactoryImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/StockQuote.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/OSGiBundleImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/Customer.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerFactoryImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiVersionedCustomerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/Retailer.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/RetailerQuery.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperFactoryImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/Shipper.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseWithQueryComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseServiceImpl.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/Warehouse.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/WarehouseQuery.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/LICENSE.txt create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/NOTICE create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/README.txt create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackClient.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackService.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test1.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test2.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test3.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalClient.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalReferenceClient.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalService.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/conversation-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-ds-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/Greetings.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/HelloWorld.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-ds-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackClient.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackService.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalClient.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalReferenceClient.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalService.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/passbyref/Greetings.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ManagedStockQuoteFactory.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuote.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuoteFactory.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Warehouse.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Warehouse.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse1.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse2.xml create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/ws/HelloWorld.mf create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/Greetings.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/passbyref-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuote.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuoteFactory.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuote.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuoteFactory.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-ds-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-ds-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-ds-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/stockquote/StockQuote.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse1.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse2.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-ds-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-test.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Customer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Retailer.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Shipper.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Warehouse.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test1.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test2.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test1.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test2.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/HelloWorld.componentType create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/helloworld.wsdl create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/ws-helloworld.composite create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/util/OSGiTestUtil.java create mode 100644 sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties (limited to 'sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src') diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackCallback.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackCallback.java new file mode 100644 index 0000000000..cfecd989fe --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackCallback.java @@ -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 callback.client; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +/* + * Callback interface + */ +public interface CallbackCallback { + + public void callbackMessage(String aString); + + public void callbackIncrement(String aString); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackClient.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackClient.java new file mode 100644 index 0000000000..43bc26f2f5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/CallbackClient.java @@ -0,0 +1,31 @@ +/* + * 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 callback.client; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +/** + * Callback test client interface + */ +public interface CallbackClient { + + public void run(); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java new file mode 100644 index 0000000000..70f61a66ac --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java @@ -0,0 +1,139 @@ +/* + * 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 callback.client; + +import junit.framework.Assert; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +import callback.service.CallbackService; + +@Service(CallbackClient.class) +/** + * Callback test client implementation + */ +public class JavaCallbackClientImpl implements CallbackClient, CallbackCallback { + + protected CallbackService callbackService; + private static String returnMessage = null; + private static int callbackCount = 0; + private static Object monitor = new Object(); + + public void run() { + + // This tests basic callback patterns. + + // Test1 is the basic callback where the target calls back prior to + // returning to the client. + test1a(); + + // Test2 is where the target does not call back to the client. + test1b(); + + // Test3 is where the target calls back multiple times to the client. + test1c(); + + return; + } + + private void test1a() { + callbackService.knockKnock("Knock Knock"); + int count = 0; + + // + // If we cant get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallbackITest - test1a", "Who's There", this.getReturnMessage()); + + } + + private void test1b() { + callbackService.noCallback("No Reply Desired"); + Assert.assertEquals("CallbackITest - test1b", 1, 1); + + return; + } + + private void test1c() { + callbackService.multiCallback("Call me back 3 times"); + int count = 0; + + // + // If we cant get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (this.getCallbackCount() < 3 && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + Assert.assertEquals("CallbackITest - test1c", 3, this.getCallbackCount()); + return; + } + + public String getReturnMessage() { + return returnMessage; + } + + public void setReturnMessage(String aReturnMessage) { + returnMessage = aReturnMessage; + } + + public int getCallbackCount() { + return callbackCount; + } + + public void incrementCallbackCount() { + callbackCount++; + } + + public void callbackMessage(String aString) { + System.out.println("Entering callback callbackMessage: " + aString); + synchronized (monitor) { + this.setReturnMessage(aString); + monitor.notify(); + } + } + + public void callbackIncrement(String aString) { + System.out.println("Entering callback increment: " + aString); + synchronized (monitor) { + this.incrementCallbackCount(); + monitor.notify(); + } + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/OSGiCallbackClientImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/OSGiCallbackClientImpl.java new file mode 100644 index 0000000000..414e5d2f9b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/client/OSGiCallbackClientImpl.java @@ -0,0 +1,181 @@ +/* + * 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 callback.client; + +import java.util.Hashtable; + + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; + +import callback.service.CallbackService; + +/** + * OSGi Callback test client implementation + */ +public class OSGiCallbackClientImpl implements + CallbackClient, CallbackCallback, BundleActivator { + + protected CallbackService callbackService; + + private static String returnMessage = null; + private static int callbackCount = 0; + private static Object monitor = new Object(); + + private BundleContext bundleContext; + + public void run() { + + // This tests basic callback patterns. + + // Test1 is the basic callback where the target calls back prior to + // returning to the client. + test1a(); + + // Test2 is where the target does not call back to the client. + test1b(); + + // Test3 is where the target calls back multiple times to the client. + test1c(); + + return; + } + + + + private void test1a() { + callbackService.knockKnock("Knock Knock"); + int count = 0; + + // + // If we cant get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + if (!"Who's There".equals(this.getReturnMessage())) { + throw new RuntimeException("CallbackITest - test1a"); + } + + } + + private void test1b() { + callbackService.noCallback("No Reply Desired"); + + return; + } + + private void test1c() { + callbackService.multiCallback("Call me back 3 times"); + int count = 0; + + // + // If we cant get a response in 30 seconds consider this a failure + // + + synchronized (monitor) { + while (this.getCallbackCount() < 3 && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + if (this.getCallbackCount() != 3) + throw new RuntimeException("CallbackITest - test1c"); + return; + } + + public String getReturnMessage() { + return returnMessage; + } + + public void setReturnMessage(String aReturnMessage) { + returnMessage = aReturnMessage; + } + + public int getCallbackCount() { + return callbackCount; + } + + public void incrementCallbackCount() { + callbackCount++; + } + + public void callbackMessage(String aString) { + System.out.println("Entering callback callbackMessage: " + aString); + synchronized (monitor) { + this.setReturnMessage(aString); + monitor.notify(); + } + } + + public void callbackIncrement(String aString) { + System.out.println("Entering callback increment: " + aString); + synchronized (monitor) { + this.incrementCallbackCount(); + monitor.notify(); + } + } + + + public void start(BundleContext bc) throws Exception { + + System.out.println("Started OSGiCallbackClientImpl bundle "); + + this.bundleContext = bc; + + Hashtable serviceProps = new Hashtable(); + serviceProps.put("component.service.name", "CallbackClient/CallbackClient"); + + serviceProps.put("component.name", "CallbackClient"); + bundleContext.registerService("callback.client.CallbackClient", this, serviceProps); + + Hashtable callbackProps = new Hashtable(); + callbackProps.put("component.service.name", "CallbackClient/callbackService"); + callbackProps.put("component.name", "CallbackClient"); + + bundleContext.registerService("callback.client.CallbackCallback", this, callbackProps); + + ServiceReference ref= bundleContext.getServiceReference("callback.service.CallbackService"); + + if (ref != null) + callbackService = (callback.service.CallbackService)bundleContext.getService(ref); + + + + + } + + public void stop(BundleContext bc) { + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/CallbackService.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/CallbackService.java new file mode 100644 index 0000000000..5383e1e268 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/CallbackService.java @@ -0,0 +1,39 @@ +/* + * 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 callback.service; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Remotable; + +import callback.client.CallbackCallback; + +@Remotable +@Callback(CallbackCallback.class) +/* + * Callback service interface + */ +public interface CallbackService { + + public void knockKnock(String aString); + + public void noCallback(String aString); + + public void multiCallback(String aString); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/JavaCallbackServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/JavaCallbackServiceImpl.java new file mode 100644 index 0000000000..b2af2fa68d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/JavaCallbackServiceImpl.java @@ -0,0 +1,68 @@ +/* + * 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 callback.service; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Service; + +import callback.client.CallbackCallback; + +@Service(CallbackService.class) +/* + * Callback service implementation + */ +public class JavaCallbackServiceImpl implements CallbackService { + + private CallbackCallback callback; + + @Callback + protected void setCallback(CallbackCallback callback) { + this.callback = callback; + } + + public void knockKnock(String aString) { + + System.out.println("CallbackServiceImpl message received: " + aString); + callback.callbackMessage("Who's There"); + System.out.println("CallbackServiceImpl response sent"); + return; + + } + + public void multiCallback(String aString) { + + System.out.println("CallbackServiceImpl message received: " + aString); + callback.callbackIncrement("Who's There 1"); + System.out.println("CallbackServiceImpl response sent"); + callback.callbackIncrement("Who's There 2"); + System.out.println("CallbackServiceImpl response sent"); + callback.callbackIncrement("Who's There 3"); + System.out.println("CallbackServiceImpl response sent"); + return; + + } + + public void noCallback(String aString) { + + System.out.println("CallbackServiceImpl message received: " + aString); + // System.out.println("CallbackServiceImpl No response desired"); + return; + + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/OSGiCallbackServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/OSGiCallbackServiceImpl.java new file mode 100644 index 0000000000..c05a3f52a8 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/callback/service/OSGiCallbackServiceImpl.java @@ -0,0 +1,95 @@ +/* + * 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 callback.service; + +import java.util.Hashtable; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osoa.sca.annotations.Callback; + +import callback.client.CallbackCallback; + +/* + * OSGi Callback service implementation + */ +public class OSGiCallbackServiceImpl implements CallbackService, BundleActivator { + + @Callback + protected CallbackCallback callback; + + + private BundleContext bundleContext; + + public void knockKnock(String aString) { + + System.out.println("CallbackServiceImpl message received: " + aString); + callback.callbackMessage("Who's There"); + System.out.println("CallbackServiceImpl response sent"); + return; + + } + + public void multiCallback(String aString) { + + System.out.println("CallbackServiceImpl message received: " + aString); + callback.callbackIncrement("Who's There 1"); + System.out.println("CallbackServiceImpl response sent"); + callback.callbackIncrement("Who's There 2"); + System.out.println("CallbackServiceImpl response sent"); + callback.callbackIncrement("Who's There 3"); + System.out.println("CallbackServiceImpl response sent"); + return; + + } + + public void noCallback(String aString) { + + System.out.println("CallbackServiceImpl message received: " + aString); + // System.out.println("CallbackServiceImpl No response desired"); + return; + + } + + + public void start(BundleContext bc) throws Exception { + + System.out.println("Started OSGiCallbackServiceImpl bundle "); + + this.bundleContext = bc; + + Hashtable serviceProps = new Hashtable(); + serviceProps.put("component.service.name", "CallbackService/CallbackService"); + bundleContext.registerService("callback.service.CallbackService", this, serviceProps); + + + ServiceReference ref= bundleContext.getServiceReference("callback.client.CallbackCallback"); + + if (ref != null) + callback = (CallbackCallback)bundleContext.getService(ref); + + } + + public void stop(BundleContext bc) { + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalCallback.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalCallback.java new file mode 100644 index 0000000000..a6202309bd --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalCallback.java @@ -0,0 +1,50 @@ +/* + * 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 conversation.client; + +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + + +/** + * The callback interface used when testing caonversational callbacks + * + * @version $Rev$ $Date$ + */ +@Remotable +@Conversational +public interface ConversationalCallback { + + public void init(); + + public void destroy(); + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws Exception; + + @EndsConversation + public String endConversation(); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClient.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClient.java new file mode 100644 index 0000000000..af269052c7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClient.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package conversation.client; + +import org.osoa.sca.annotations.Remotable; + +/** + * The client for the conversational itest. Is implemented by clients + * offering both stateless and stateful callbacks + * + * @version $Rev$ $Date$ + */ + +@Remotable +public interface ConversationalClient { + + public int runConversationFromInjectedReference(); + public int runConversationFromServiceReference(); + public int runConversationWithUserDefinedConversationId(); + public String runConversationCheckUserDefinedConversationId(); + public int runConversationCheckingScope(); + public int runConversationWithCallback(); + public int runConversationHavingPassedReference(); + public String runConversationBusinessException(); + public String runConversationBusinessExceptionCallback(); + public int runConversationCallingEndedConversation(); + public int runConversationCallingEndedConversationCallback(); + public int runConversationAgeTimeout(); + public int runConversationIdleTimeout(); + public int runConversationPrincipleError(); + + public String getCalls(); + public String getServiceCalls(); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java new file mode 100644 index 0000000000..f74353a6af --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientActivator.java @@ -0,0 +1,124 @@ +/* + * 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 conversation.client; + +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 conversation.client.ConversationalCallback; +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 + */ +public class ConversationalClientActivator implements BundleActivator, ServiceListener { + + + private BundleContext bundleContext; + + + public void start(BundleContext bc) throws Exception { + + System.out.println("Started OSGiConversationClientActivator "); + + this.bundleContext = bc; + + bc.addServiceListener(this); + + Hashtable serviceProps; + + serviceProps = new Hashtable(); + + serviceProps.put("component.name", "ConversationalStatelessClientStatelessService"); + Object statelessClientFactory1 = + new ConversationalClientServiceFactory(ConversationalClientStatelessImpl.class, bundleContext, 1); + bundleContext.registerService( + new String[] {ConversationalClient.class.getName(), ConversationalCallback.class.getName()}, + statelessClientFactory1, + serviceProps); + + serviceProps = new Hashtable(); + serviceProps.put("component.name", "ConversationalStatelessClientStatefulService"); + Object statelessClientFactory2 = + new ConversationalClientServiceFactory(ConversationalClientStatelessImpl.class, bundleContext, 2); + bundleContext.registerService( + new String[] {ConversationalClient.class.getName(), ConversationalCallback.class.getName()}, + statelessClientFactory2, + serviceProps); + + + serviceProps.put("component.name", "ConversationalStatefulClientStatelessService"); + Object statefulClientFactory1 = + new ConversationalClientServiceFactory(ConversationalClientStatefulImpl.class, bundleContext, 3); + bundleContext.registerService( + new String[] {ConversationalClient.class.getName(), ConversationalCallback.class.getName()}, + statefulClientFactory1, + serviceProps); + + serviceProps = new Hashtable(); + serviceProps.put("component.name", "ConversationalStatefulClientStatefulService"); + Object statefulClientFactory2 = + new ConversationalClientServiceFactory(ConversationalClientStatefulImpl.class, bundleContext, 4); + bundleContext.registerService( + new String[] {ConversationalClient.class.getName(), ConversationalCallback.class.getName()}, + statefulClientFactory2, + serviceProps); + + serviceProps.put("component.name", "ConversationalReferenceClient"); + ConversationalReferenceClientImpl refClient = new ConversationalReferenceClientImpl(); + bundleContext.registerService(ConversationalReferenceClient.class.getName(), refClient, serviceProps); + + serviceProps = new Hashtable(); + serviceProps.put("component.name", "ConversationalServiceStateful"); + Object statefulService = + new ConversationalClientServiceFactory(ConversationalServiceStatefulImpl.class, bundleContext, 5); + bundleContext.registerService(ConversationalService.class.getName(), statefulService, serviceProps); + + serviceProps = new Hashtable(); + serviceProps.put("component.name", "ConversationalServiceStateless"); + ConversationalServiceStatelessImpl statelessService = new ConversationalServiceStatelessImpl(); + bundleContext.registerService(ConversationalService.class.getName(), statelessService, serviceProps); + + + } + + + + public void stop(BundleContext bc) { + } + + public void serviceChanged(ServiceEvent event) { + + if (event.getType() == ServiceEvent.REGISTERED) { + + } + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java new file mode 100644 index 0000000000..129b903ae9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientServiceFactory.java @@ -0,0 +1,135 @@ +/* + * 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 conversation.client; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.Constants; +import org.osgi.framework.ServiceFactory; +import org.osgi.framework.ServiceReference; +import org.osgi.framework.ServiceRegistration; + +import conversation.client.ConversationalClientStatefulImpl; +import conversation.client.ConversationalClientStatelessImpl; +import conversation.referenceclient.ConversationalReferenceClient; +import conversation.service.ConversationalService; + +public class ConversationalClientServiceFactory implements ServiceFactory { + + private Class clazz; + private BundleContext bundleContext; + private int serviceNum; + + public ConversationalClientServiceFactory(Class clazz, BundleContext bundleContext, int serviceNum) { + this.clazz = clazz; + this.bundleContext = bundleContext; + this.serviceNum = serviceNum; + } + + public Object getService(Bundle bundle, ServiceRegistration reg) { + + + try { + Object instance = clazz.newInstance(); + + ConversationalClientStatelessImpl statelessClient = null; + ConversationalClientStatefulImpl statefulClient = null; + + if (serviceNum == 1 || serviceNum == 2) { + + ServiceReference ref = bundleContext.getServiceReference(ConversationalReferenceClient.class.getName()); + statelessClient = (ConversationalClientStatelessImpl)instance; + statelessClient.conversationalReferenceClient = + (ConversationalReferenceClient)bundleContext.getService(ref); + } + if (serviceNum == 1) { + + ServiceReference ref = getServiceReference(ConversationalService.class.getName(), + "(component.name=ConversationalServiceStateless)"); + statelessClient.conversationalService = (ConversationalService)bundleContext.getService(ref); + + } + + if (serviceNum == 2) { + + ServiceReference ref = getServiceReference(ConversationalService.class.getName(), + "(component.name=ConversationalServiceStateful)"); + statelessClient.conversationalService = (ConversationalService)bundleContext.getService(ref); + + } + + + if (serviceNum == 3 || serviceNum == 4) { + + ServiceReference ref = bundleContext.getServiceReference(ConversationalReferenceClient.class.getName()); + statefulClient = (ConversationalClientStatefulImpl)instance; + statefulClient.conversationalReferenceClient = + (ConversationalReferenceClient)bundleContext.getService(ref); + } + if (serviceNum == 3) { + + ServiceReference ref = getServiceReference(ConversationalService.class.getName(), + "(component.name=ConversationalServiceStateless)"); + statefulClient.conversationalService = (ConversationalService)bundleContext.getService(ref); + + } + + if (serviceNum == 4) { + + ServiceReference ref = getServiceReference(ConversationalService.class.getName(), + "(component.name=ConversationalServiceStateful)"); + statefulClient.conversationalService = (ConversationalService)bundleContext.getService(ref); + + } + + return instance; + } catch (Exception e) { + + e.printStackTrace(); + return null; + } + } + + public void ungetService(Bundle bundle, ServiceRegistration reg, Object obj) { + bundle.getBundleContext().ungetService(reg.getReference()); + } + + private ServiceReference getServiceReference(String name, String filter) throws Exception { + + ServiceReference refs[] = bundleContext.getServiceReferences(name, filter); + ServiceReference ref = refs[0]; + int ranking = 0; + if (ref.getProperty(Constants.SERVICE_RANKING) instanceof Integer) + ranking = (Integer)ref.getProperty(Constants.SERVICE_RANKING); + for (int i = 1; i < refs.length; i++) { + int thisranking = 0; + if (refs[i].getProperty(Constants.SERVICE_RANKING) instanceof Integer) { + thisranking = (Integer)refs[i].getProperty(Constants.SERVICE_RANKING); + } + if (thisranking > ranking) { + ref = refs[i]; + ranking = thisranking; + } + } + + return ref; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java new file mode 100644 index 0000000000..c3e5cdf827 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java @@ -0,0 +1,254 @@ +/* + * 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 conversation.client; + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import conversation.referenceclient.ConversationalReferenceClient; +import conversation.service.ConversationalService; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev$ $Date$ + */ + +@Service(interfaces={ConversationalClient.class}) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalClientStatefulImpl implements ConversationalClient, ConversationalCallback { + + @Context + protected ComponentContext componentContext; + + protected ConversationalService conversationalService; + + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation1"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + return callableReference.endConversation(); + + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + callbackCount = 2; + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); + conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); + conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount += count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + return null; + } + + public String getCalls() { + return calls.toString(); + } + + public String getServiceCalls() { + return conversationalService.getCalls().toString(); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java new file mode 100644 index 0000000000..9b2385bdc7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java @@ -0,0 +1,253 @@ +/* + * 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 conversation.client; + + +import org.osoa.sca.ComponentContext; +import org.osoa.sca.ServiceReference; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import conversation.referenceclient.ConversationalReferenceClient; +import conversation.service.ConversationalService; + +/** + * The client for the conversational itest which presents a stateful + * callback interface + * + * @version $Rev$ $Date$ + */ + +@Service(interfaces={ConversationalClient.class}) +@Scope("STATELESS") +public class ConversationalClientStatelessImpl implements ConversationalClient, ConversationalCallback { + + @Context + protected ComponentContext componentContext; + + @Reference + protected ConversationalService conversationalService; + + @Reference + protected ConversationalReferenceClient conversationalReferenceClient; + + private int clientCount = 0; + private int callbackCount = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + // From ConversationalClient + public int runConversationFromInjectedReference(){ + calls.append("runConversationFromInjectedReference,"); + conversationalService.initializeCount(1); + conversationalService.incrementCount(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + + return clientCount; + } + public int runConversationFromServiceReference(){ + calls.append("runConversationFromServiceReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + public int runConversationWithUserDefinedConversationId(){ + calls.append("runConversationWithUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + public String runConversationCheckUserDefinedConversationId(){ + calls.append("runConversationCheckUserDefinedConversationId,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + serviceReference.setConversationID("MyConversation2"); + + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + clientCount = callableReference.retrieveCount(); + return callableReference.endConversation(); + + } + public int runConversationCheckingScope(){ + calls.append("runConversationCheckingScope,"); + // run a conversation + return runConversationFromInjectedReference(); + + // test will then use a static method to find out how many times + // init/destroy were called + } + public int runConversationWithCallback(){ + calls.append("runConversationWithCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.incrementCountCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + + return clientCount; + } + + public int runConversationHavingPassedReference(){ + calls.append("runConversationHavingPassedReference,"); + ServiceReference serviceReference = componentContext.getServiceReference(ConversationalService.class, + "conversationalService"); + ConversationalService callableReference = serviceReference.getService(); + + callableReference.initializeCount(1); + callableReference.incrementCount(); + conversationalReferenceClient.incrementCount(serviceReference); + clientCount = callableReference.retrieveCount(); + callableReference.endConversation(); + + serviceReference.getConversation().end(); + + return clientCount; + } + + public String runConversationBusinessException(){ + calls.append("runConversationbusinessException,"); + try { + conversationalService.initializeCount(1); + conversationalService.businessException(); + clientCount = conversationalService.retrieveCount(); + conversationalService.endConversation(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public String runConversationBusinessExceptionCallback(){ + calls.append("runConversationbusinessExceptionCallback,"); + try { + conversationalService.initializeCountCallback(1); + conversationalService.businessExceptionCallback(); + clientCount = conversationalService.retrieveCountCallback(); + conversationalService.endConversationCallback(); + } catch(Exception ex) { + return ex.getMessage(); + } + + return "No Exception Returned"; + } + + public int runConversationCallingEndedConversation(){ + calls.append("runConversationCallingEndedConversation,"); + conversationalService.initializeCount(1); + conversationalService.endConversation(); + return conversationalService.retrieveCount(); + } + + public int runConversationCallingEndedConversationCallback(){ + calls.append("runConversationCallingEndedConversationCallback,"); + conversationalService.initializeCountCallback(1); + conversationalService.endConversationCallback(); + return conversationalService.retrieveCountCallback(); + } + + public int runConversationAgeTimeout(){ + calls.append("runConversationAgeTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationIdleTimeout(){ + calls.append("runConversationIdleTimeout,"); + // done in other testing + return clientCount; + } + public int runConversationPrincipleError(){ + calls.append("runConversationPrincipleError,"); + // TODO - when policy framework is done + return clientCount; + } + + + // From ConversationalCallback + @Init + public void init(){ + calls.append("init,"); + + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + callbackCount = 0; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + callbackCount++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return callbackCount; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public String endConversation(){ + calls.append("endConversation,"); + return null; + } + + public String getCalls() { + return calls.toString(); + } + + public String getServiceCalls() { + return conversationalService.getCalls().toString(); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClient.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClient.java new file mode 100644 index 0000000000..59e128b993 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClient.java @@ -0,0 +1,38 @@ +/* + * 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 conversation.referenceclient; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Remotable; + +import conversation.service.ConversationalService; + +/** + * The client that calls into an existing conversation by accepting + * a reference to that conversation + * + * @version $Rev$ $Date$ + */ + +@Remotable +public interface ConversationalReferenceClient { + + public void incrementCount(CallableReference conversationalService); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientActivator.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientActivator.java new file mode 100644 index 0000000000..ff6f16cba3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientActivator.java @@ -0,0 +1,66 @@ +/* + * 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 conversation.referenceclient; + +import java.util.Hashtable; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceEvent; +import org.osgi.framework.ServiceListener; + +/* + * OSGi bundle activator for conversation tests + */ +public class ConversationalReferenceClientActivator implements BundleActivator, ServiceListener { + + + private BundleContext bundleContext; + + + public void start(BundleContext bc) throws Exception { + + System.out.println("Started OSGiConversationReferenceClientActivator "); + + this.bundleContext = bc; + + bc.addServiceListener(this); + + Hashtable serviceProps; + + serviceProps = new Hashtable(); + serviceProps.put("component.name", "ConversationalReferenceClient"); + ConversationalReferenceClientImpl refClient = new ConversationalReferenceClientImpl(); + bundleContext.registerService(ConversationalReferenceClient.class.getName(), refClient, serviceProps); + + } + + + + public void stop(BundleContext bc) { + } + + public void serviceChanged(ServiceEvent event) { + + if (event.getType() == ServiceEvent.REGISTERED) { + + } + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java new file mode 100644 index 0000000000..be5c0b8601 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package conversation.referenceclient; + +import org.osoa.sca.CallableReference; +import org.osoa.sca.annotations.Service; + +import conversation.service.ConversationalService; + +/** + * A client component that accepts a reference to an ongoing conversation + * and takes part in that conversation + * + * @version $Rev$ $Date$ + */ + +@Service(interfaces={ConversationalReferenceClient.class}) +public class ConversationalReferenceClientImpl implements ConversationalReferenceClient{ + + public void incrementCount(CallableReference conversationalService){ + ConversationalService callableReference = conversationalService.getService(); + + callableReference.incrementCount(); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalService.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalService.java new file mode 100644 index 0000000000..bcd24ef0b1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalService.java @@ -0,0 +1,65 @@ +/* + * 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 conversation.service; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.Conversational; +import org.osoa.sca.annotations.EndsConversation; +import org.osoa.sca.annotations.Remotable; + +import conversation.client.ConversationalCallback; + + +/** + * The service interface used when testing conversations + * + * @version $Rev$ $Date$ + */ +@Remotable +@Conversational +@Callback(ConversationalCallback.class) +public interface ConversationalService { + + public void init(); + + public void destroy(); + + public void initializeCount(int count); + + public void incrementCount(); + + public int retrieveCount(); + + public void businessException() throws Exception; + + public void initializeCountCallback(int count); + + public void incrementCountCallback(); + + public int retrieveCountCallback(); + + public void businessExceptionCallback() throws Exception; + + @EndsConversation + public String endConversation(); + + public String endConversationCallback(); + + public String getCalls(); +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceActivator.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceActivator.java new file mode 100644 index 0000000000..903f8bf229 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceActivator.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package conversation.service; + +import java.util.Hashtable; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceEvent; +import org.osgi.framework.ServiceListener; + + +/* + * OSGi bundle activator for conversation tests + */ +public class ConversationalServiceActivator implements BundleActivator, ServiceListener { + + + private BundleContext bundleContext; + + + public void start(BundleContext bc) throws Exception { + + System.out.println("Started OSGiConversationServiceActivator "); + + this.bundleContext = bc; + + bc.addServiceListener(this); + + Hashtable serviceProps; + + serviceProps = new Hashtable(); + + serviceProps = new Hashtable(); + serviceProps.put("component.name", "ConversationalServiceStateful"); + Object statefulService = + new ConversationalServiceFactory(ConversationalServiceStatefulImpl.class); + bundleContext.registerService(ConversationalService.class.getName(), statefulService, serviceProps); + + serviceProps = new Hashtable(); + serviceProps.put("component.name", "ConversationalServiceStateless"); + ConversationalServiceStatelessImpl statelessService = new ConversationalServiceStatelessImpl(); + bundleContext.registerService(ConversationalService.class.getName(), statelessService, serviceProps); + + + } + + + + public void stop(BundleContext bc) { + } + + public void serviceChanged(ServiceEvent event) { + + if (event.getType() == ServiceEvent.REGISTERED) { + + } + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java new file mode 100644 index 0000000000..43393ff9e9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceFactory.java @@ -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 conversation.service; + +import org.osgi.framework.Bundle; +import org.osgi.framework.ServiceFactory; +import org.osgi.framework.ServiceRegistration; + + +public class ConversationalServiceFactory implements ServiceFactory { + + private Class clazz; + + public ConversationalServiceFactory(Class clazz) { + this.clazz = clazz; + } + + public Object getService(Bundle bundle, ServiceRegistration reg) { + + try { + return clazz.newInstance(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + } + + public void ungetService(Bundle bundle, ServiceRegistration reg, Object obj) { + bundle.getBundleContext().ungetService(reg.getReference()); + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatefulImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatefulImpl.java new file mode 100644 index 0000000000..ec30d641ac --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatefulImpl.java @@ -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 conversation.service; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationAttributes; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import conversation.client.ConversationalCallback; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev$ $Date$ + */ +@Service(ConversationalService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="10 minutes", + maxIdleTime="5 minutes", + singlePrincipal=false) +public class ConversationalServiceStatefulImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // local count - accumulates during the conversation + private int count = 0; + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + this.count = count; + } + + public void incrementCount(){ + calls.append("incrementCount,"); + count++; + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + return count; + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + this.count = count; + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + count++; + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws Exception { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + count = 0; + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } + + public String getCalls() { + return calls.toString(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatelessImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatelessImpl.java new file mode 100644 index 0000000000..34baca71d1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/conversation/service/ConversationalServiceStatelessImpl.java @@ -0,0 +1,127 @@ +/* + * 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 conversation.service; + +import java.util.HashMap; + +import org.osoa.sca.annotations.Callback; +import org.osoa.sca.annotations.ConversationID; +import org.osoa.sca.annotations.Destroy; +import org.osoa.sca.annotations.Init; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import conversation.client.ConversationalCallback; + + +/** + * The service used when testing stateful conversations + * + * @version $Rev$ $Date$ + */ +@Service(ConversationalService.class) +@Scope("STATELESS") +public class ConversationalServiceStatelessImpl implements ConversationalService { + + @ConversationID + protected String conversationId; + + @Callback + protected ConversationalCallback conversationalCallback; + + // static area in which to hold conversational data + private static HashMap conversationalState = new HashMap(); + + // a static member variable that records the number of times this service is called + public static StringBuffer calls = new StringBuffer(); + + @Init + public void init(){ + calls.append("init,"); + } + + @Destroy + public void destroy(){ + calls.append("destroy,"); + } + + public void initializeCount(int count){ + calls.append("initializeCount,"); + Integer conversationalCount = new Integer(count); + conversationalState.put(conversationId, conversationalCount); + } + + public void incrementCount(){ + calls.append("incrementCount,"); + Integer conversationalCount = conversationalState.get(conversationId); + conversationalCount++; + conversationalState.put(conversationId, conversationalCount); + } + + public int retrieveCount(){ + calls.append("retrieveCount,"); + Integer count = conversationalState.get(conversationId); + if (count != null){ + return count.intValue(); + } else { + return -999; + } + } + + public void businessException() throws Exception { + throw new Exception("Business Exception"); + } + + public void initializeCountCallback(int count){ + calls.append("initializeCountCallback,"); + initializeCount(count); + conversationalCallback.initializeCount(count); + } + + public void incrementCountCallback(){ + calls.append("incrementCountCallback,"); + incrementCount(); + conversationalCallback.incrementCount(); + } + + public int retrieveCountCallback(){ + calls.append("retrieveCountCallback,"); + return conversationalCallback.retrieveCount(); + } + + public void businessExceptionCallback() throws Exception { + calls.append("businessExceptionCallback,"); + conversationalCallback.businessException(); + } + + public String endConversation(){ + calls.append("endConversation,"); + conversationalState.remove(conversationId); + return conversationId; + } + + public String endConversationCallback(){ + calls.append("endConversationCallback,"); + return conversationalCallback.endConversation(); + } + + public String getCalls() { + return calls.toString(); + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/Greetings.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/Greetings.java new file mode 100644 index 0000000000..9285c0a8d5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/Greetings.java @@ -0,0 +1,36 @@ +/* + * 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 helloworld; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface Greetings { + + + public String[] getGreetingsFromJava(String[] s); + + public String[] getGreetingsFromOSGi(String[] s); + + public String[] getModifiedGreetingsFromJava(String[] s); + + public String[] getModifiedGreetingsFromOSGi(String[] s); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/HelloWorld.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/HelloWorld.java new file mode 100644 index 0000000000..16d0eae990 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/HelloWorld.java @@ -0,0 +1,29 @@ +/* + * 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 helloworld; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface HelloWorld { + + public String getGreetings(String s); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaGreetingsComponent.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaGreetingsComponent.java new file mode 100644 index 0000000000..3d0e045225 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaGreetingsComponent.java @@ -0,0 +1,73 @@ +/* + * 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 helloworld; + +import org.osoa.sca.annotations.AllowsPassByReference; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(Greetings.class) +@Scope("COMPOSITE") +public class JavaGreetingsComponent implements Greetings { + + private Greetings greetingsService; + + @Reference + public void setGreetingsService(Greetings greetingsService) { + this.greetingsService = greetingsService; + } + + + public String[] getGreetingsFromJava(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = "Hello " + s[i] + "(From Java)"; + } + + return greetingsService.getGreetingsFromJava(s); + } + + public String[] getGreetingsFromOSGi(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = s[i] + "(From Java)"; + } + + return s; + } + + @AllowsPassByReference + public String[] getModifiedGreetingsFromJava(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = "Hello " + s[i] + "(From Java)"; + } + + return greetingsService.getModifiedGreetingsFromJava(s); + } + + @AllowsPassByReference + public String[] getModifiedGreetingsFromOSGi(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = s[i] + "(From Java)"; + } + + return s; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaHelloWorldComponent.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaHelloWorldComponent.java new file mode 100644 index 0000000000..c055aee142 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/JavaHelloWorldComponent.java @@ -0,0 +1,41 @@ +/* + * 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 helloworld; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; + +@Scope("COMPOSITE") +public class JavaHelloWorldComponent implements HelloWorld { + + public helloworld.ws.HelloWorld helloWorldWS; + + @Reference + public void setHelloWorldWS(helloworld.ws.HelloWorld helloWorldWS) { + this.helloWorldWS = helloWorldWS; + } + + public String getGreetings(String s) { + return helloWorldWS.getGreetings(s); + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiGreetingsImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiGreetingsImpl.java new file mode 100644 index 0000000000..661eb5a8cb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiGreetingsImpl.java @@ -0,0 +1,112 @@ +/* + * 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 helloworld; + +import java.util.Hashtable; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceEvent; +import org.osgi.framework.ServiceListener; +import org.osgi.framework.ServiceReference; +import org.osgi.framework.BundleActivator; +import org.osoa.sca.annotations.AllowsPassByReference; + + +public class OSGiGreetingsImpl implements Greetings, ServiceListener, BundleActivator { + + private Greetings greetingsService; + + private BundleContext bundleContext; + + public String[] getGreetingsFromOSGi(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = "Hello " + s[i] + "(From OSGi)"; + } + + return greetingsService.getGreetingsFromOSGi(s); + } + + public String[] getGreetingsFromJava(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = s[i] + "(From OSGi)"; + } + + return s; + } + + @AllowsPassByReference + public String[] getModifiedGreetingsFromOSGi(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = "Hello " + s[i] + "(From OSGi)"; + } + + return greetingsService.getModifiedGreetingsFromOSGi(s); + } + + @AllowsPassByReference + public String[] getModifiedGreetingsFromJava(String s[]) { + for (int i = 0; i < s.length; i++) { + s[i] = s[i] + "(From OSGi)"; + } + + return s; + } + + public void start(BundleContext bc) { + + System.out.println("Started OsgiGreetingsImpl bundle "); + + this.bundleContext = bc; + + Hashtable serviceProps = new Hashtable(); + serviceProps.put("component.service.name", "OSGiGreetingsComponent/Greetings"); + bundleContext.registerService("helloworld.Greetings", this, serviceProps); + + + ServiceReference ref = bundleContext.getServiceReference("helloworld.Greetings"); + if (ref != null) + greetingsService = (helloworld.Greetings)bundleContext.getService(ref); + else { + try { + String filter = "(objectclass=helloworld.Greetings)"; + this.bundleContext.addServiceListener(this, filter); + + } catch (InvalidSyntaxException e) { + e.printStackTrace(); + } + } + + } + + public void stop(BundleContext bc) { + } + + public void serviceChanged(ServiceEvent event) { + try { + if (event.getType() == ServiceEvent.REGISTERED) { + ServiceReference ref = event.getServiceReference(); + greetingsService = (helloworld.Greetings) bundleContext.getService(ref); + } + } catch (Throwable e) { + e.printStackTrace(); + } + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiHelloWorldImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiHelloWorldImpl.java new file mode 100644 index 0000000000..0588da9a85 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/OSGiHelloWorldImpl.java @@ -0,0 +1,81 @@ +/* + * 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 helloworld; + +import java.util.Hashtable; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceEvent; +import org.osgi.framework.ServiceListener; +import org.osgi.framework.ServiceReference; +import org.osgi.framework.BundleActivator; + + +public class OSGiHelloWorldImpl implements HelloWorld, ServiceListener, BundleActivator { + + public helloworld.ws.HelloWorld helloWorldWS; + + private BundleContext bundleContext; + + public String getGreetings(String s) { + return helloWorldWS.getGreetings(s); + } + + + public void start(BundleContext bc) { + + System.out.println("Started OsgiHelloWorldImpl bundle "); + + this.bundleContext = bc; + + Hashtable serviceProps = new Hashtable(); + serviceProps.put("component.name", "HelloWorldComponent"); + bundleContext.registerService("helloworld.HelloWorld", this, serviceProps); + + ServiceReference ref = bundleContext.getServiceReference("helloworld.ws.HelloWorld"); + if (ref != null) + helloWorldWS = (helloworld.ws.HelloWorld)bundleContext.getService(ref); + else { + try { + String filter = "(objectclass=helloworld.ws.HelloWorld)"; + this.bundleContext.addServiceListener(this, filter); + + } catch (InvalidSyntaxException e) { + e.printStackTrace(); + } + } + + } + + public void stop(BundleContext bc) { + } + + public void serviceChanged(ServiceEvent event) { + try { + if (event.getType() == ServiceEvent.REGISTERED) { + ServiceReference ref = event.getServiceReference(); + helloWorldWS = (helloworld.ws.HelloWorld) bundleContext.getService(ref); + } + } catch (Throwable e) { + e.printStackTrace(); + } + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorld.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorld.java new file mode 100644 index 0000000000..039a214856 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorld.java @@ -0,0 +1,29 @@ +/* + * 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 helloworld.ws; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface HelloWorld { + + public String getGreetings(String s); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorldService.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorldService.java new file mode 100644 index 0000000000..4a3cd4aed2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/helloworld/ws/HelloWorldService.java @@ -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 helloworld.ws; + +public class HelloWorldService implements HelloWorld { + + public String getGreetings(String s) { + return "Hello " + s; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteComponentImpl.java new file mode 100644 index 0000000000..2251bf5be6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteComponentImpl.java @@ -0,0 +1,86 @@ +/* + * 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 stockquote; + +import java.util.Dictionary; + +import org.osgi.service.component.ComponentContext; +import org.osoa.sca.annotations.Property; + +/** + * Declarative Stock quote with configurable properties. + */ +public class OSGiStockQuoteComponentImpl implements StockQuote { + + @Property + public double exchangeRate; + + private String currency; + + + public double configExchangeRate; + public String configCurrency; + + @Property + public void setCurrency(String currency) { + this.currency = currency; + } + + public double getQuote(String ticker) throws Exception { + + if (exchangeRate == 2.0 && !"USD".equals(currency)) { + throw new RuntimeException("Property exchangeRate not set correctly, exchangeRate= " + + exchangeRate + " currency=" + currency); + } + if (exchangeRate == 1.48 && !"EURO".equals(currency)) { + throw new RuntimeException("Property exchangeRate not set correctly, exchangeRate= " + + exchangeRate + " currency=" + currency); + } + + if (configExchangeRate == 2.0 && !"USD".equals(configCurrency)) { + throw new RuntimeException("ConfigAdmin Property exchangeRate not set correctly, exchangeRate= " + + configExchangeRate + " currency=" + configCurrency); + } + if (configExchangeRate == 1.48 && !"EURO".equals(configCurrency)) { + throw new RuntimeException("Property configExchangeRate not set correctly, exchangeRate= " + + configExchangeRate + " currency=" + configCurrency); + } + + return 52.81 * exchangeRate; + + } + + protected void activate(ComponentContext context){ + System.out.println("Activated OSGiStockQuoteComponentImpl bundle "); + Dictionary props = context.getProperties(); + Object prop = props.get("currency"); + if (prop instanceof String[]&& ((String [])prop).length > 0) + configCurrency = ((String [])prop)[0]; + prop = props.get("exchangeRate"); + if (prop instanceof Double[]&& ((Double [])prop).length > 0) + configExchangeRate = (double)((Double [])prop)[0]; + } + + protected void deactivate(ComponentContext context){ + System.out.println("Deactivated OSGiStockQuoteComponentImpl bundle "); + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteFactoryImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteFactoryImpl.java new file mode 100644 index 0000000000..e2d25bf47d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteFactoryImpl.java @@ -0,0 +1,65 @@ +/* + * 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 stockquote; + +import java.util.Hashtable; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceFactory; +import org.osgi.framework.ServiceRegistration; + +/** + * + * OSGi service factory where service has configurable properties + * Only property injection is tested. ConfigurationAdmin is not used. + * + */ +public class OSGiStockQuoteFactoryImpl implements BundleActivator, ServiceFactory { + + + private BundleContext bundleContext; + + + public void start(BundleContext bc) throws Exception { + + bundleContext = bc; + + Hashtable props = new Hashtable(); + bc.registerService(StockQuote.class.getName(), this, props); + + } + + public void stop(BundleContext bc) throws Exception { + } + + + public Object getService(Bundle bundle, ServiceRegistration registration) { + return new OSGiStockQuoteImpl(bundleContext); + } + + + public void ungetService(Bundle bundle, ServiceRegistration registration, Object service) { + + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteImpl.java new file mode 100644 index 0000000000..f2ae804ad1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/OSGiStockQuoteImpl.java @@ -0,0 +1,119 @@ +/* + * 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 stockquote; + +import java.util.Dictionary; +import java.util.Hashtable; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.cm.Configuration; +import org.osgi.service.cm.ConfigurationAdmin; +import org.osoa.sca.annotations.Property; + +/** + * + * Stock quote with configurable properties. + * + */ +public class OSGiStockQuoteImpl implements StockQuote, BundleActivator { + + public String pid; + + @Property + public double exchangeRate; + + private String currency; + + private BundleContext bundleContext; + + public OSGiStockQuoteImpl() { + this.pid = "stockQuote"; + } + + protected OSGiStockQuoteImpl(BundleContext bc) { + this.bundleContext = bc; + } + + @Property + public void setCurrency(String currency) { + this.currency = currency; + } + + + private void checkProperties() throws Exception { + + if (exchangeRate == 2.0 && !"USD".equals(currency)) { + throw new RuntimeException("Property exchangeRate not set correctly, exchangeRate= " + + exchangeRate + " currency=" + currency); + } + + if (exchangeRate == 1.48 && !"EURO".equals(currency)) { + throw new RuntimeException("Property exchangeRate not set correctly, exchangeRate= " + + exchangeRate + " currency=" + currency); + } + + ServiceReference configAdminReference = bundleContext.getServiceReference("org.osgi.service.cm.ConfigurationAdmin"); + if (configAdminReference != null && pid != null ) { + + ConfigurationAdmin cm = (ConfigurationAdmin)bundleContext.getService(configAdminReference); + + Configuration config = cm.getConfiguration("stockQuote", null); + + Dictionary props = config.getProperties(); + + if (exchangeRate != (double)(Double)props.get("exchangeRate")) { + throw new Exception("Config Property exchangeRate not set correctly, expected " + + props.get("exchangeRate") + " got " + exchangeRate); + } + + if (!currency.equals(props.get("currency"))) { + throw new Exception("Config Property currency not set correctly, expected " + + props.get("currency") + " got " + currency); + } + } + + } + + public double getQuote(String ticker) throws Exception { + + checkProperties(); + + return 52.81 * exchangeRate; + + } + + public void start(BundleContext bc) throws Exception { + + bundleContext = bc; + + Hashtable props = new Hashtable(); + props.put("service.pid", "stockQuote"); + + bc.registerService(StockQuote.class.getName(), this, props); + + } + + public void stop(BundleContext bc) throws Exception { + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/StockQuote.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/StockQuote.java new file mode 100644 index 0000000000..a47f68c579 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/stockquote/StockQuote.java @@ -0,0 +1,31 @@ +/* + * 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 stockquote; + +/** + * + * Stock Quote interface + * + */ +public interface StockQuote { + + public double getQuote(String ticker) throws Exception ; + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/OSGiBundleImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/OSGiBundleImpl.java new file mode 100644 index 0000000000..25d7bcf2ff --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/OSGiBundleImpl.java @@ -0,0 +1,163 @@ +/* + * 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.ArrayList; +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; + + +/** + * This class implements the Customer service component. + */ +public class OSGiBundleImpl implements ServiceListener, BundleActivator { + + + String name; + + String[] references; + Class[] referenceClasses; + Field[] referenceFields; + String[] referenceFilters; + + Class myClass; + ArrayList serviceNames = new ArrayList(); + ArrayList serviceObjs = new ArrayList(); + ArrayList> serviceProperties = new ArrayList>(); + + + private BundleContext bundleContext; + + public OSGiBundleImpl() {} + + public OSGiBundleImpl(String[] references, String[] filters) { + + myClass = this.getClass(); + this.name = this.getClass().getSimpleName(); + this.references = references == null?new String[0] : references; + + + try { + referenceClasses = new Class[references.length]; + referenceFields = new Field[references.length]; + referenceFilters = new String[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(); + + if (filters != null && filters.length > i) + referenceFilters[i] = filters[i]; + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + + } + + public void start(BundleContext bc) { + + System.out.println("Started bundle " + name); + + this.bundleContext = bc; + + boolean useSingleRegisterService = serviceNames.size() > 1; + for (int i = 1; i < serviceNames.size(); i++) { + if (serviceObjs.get(i) != serviceObjs.get(0) || + serviceProperties.get(i) != serviceProperties.get(0)) { + useSingleRegisterService = false; + break; + } + } + if (useSingleRegisterService) { + bundleContext.registerService(serviceNames.toArray(new String[serviceNames.size()]), + serviceObjs.get(0), serviceProperties.get(0)); + } + else { + for (int i = 0; i < serviceNames.size(); i++) { + bundleContext.registerService(serviceNames.get(i), serviceObjs.get(i), serviceProperties.get(i)); + } + } + + started(bc); + + for (int i = 0; i < references.length; i++) { + + try { + if (referenceFields[i].get(this) != null) + continue; + + ServiceReference[] refs = bundleContext.getServiceReferences(referenceClasses[i].getName(), referenceFilters[i]); + if (refs != null && refs.length > 0) { + Object obj = bundleContext.getService(refs[0]); + referenceFields[i].set(this, referenceClasses[i].cast(obj)); + } else { + String filter = "(objectclass=" + referenceClasses[i].getName() + ")"; + this.bundleContext.addServiceListener(this, filter); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public void stop(BundleContext bc) { + System.out.println("Stop bundle " + name); + + } + + protected void started(BundleContext bc) { + + } + + 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(); + } + } + + + public void registerService(Object serviceObject, String serviceName, Hashtable props) { + serviceObjs.add(serviceObject); + serviceNames.add(serviceName); + serviceProperties.add(props == null? new Hashtable() : props); + } +} + \ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/Customer.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/Customer.java new file mode 100644 index 0000000000..2762bc62be --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/Customer.java @@ -0,0 +1,39 @@ +/* + * 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 purchaseBooks(); + + public void purchaseGames(); + + public void purchaseGoods(); + + @OneWay + public void notifyShipment(String order); + + public boolean hasOutstandingOrders(); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java new file mode 100644 index 0000000000..80346311b1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/JavaCustomerComponentImpl.java @@ -0,0 +1,88 @@ +/* + * 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 java.util.ArrayList; + +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. + */ +@Service(Customer.class) +@Scope("COMPOSITE") +public class JavaCustomerComponentImpl implements Customer { + + private Retailer retailer1; + + private Retailer retailer2; + + private Retailer retailer3; + + private static ArrayList outstandingOrders = new ArrayList(); + + @Reference + public void setRetailer1(Retailer retailer1) { + this.retailer1 = retailer1; + } + + @Reference + public void setRetailer2(Retailer retailer2) { + this.retailer2 = retailer2; + } + + @Reference + public void setRetailer3(Retailer retailer3) { + this.retailer3 = retailer3; + } + + public void purchaseBooks() { + System.out.println("JavaCustomerComponentImpl.purchaseBooks"); + outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (ParcelForce)"); + retailer1.submitOrder("Order"); + } + + public void purchaseGames() { + System.out.println("JavaCustomerComponentImpl.purchaseGames"); + outstandingOrders.add("Order, submitted (play.com), fulfilled, shipped (ParcelForce)"); + + retailer2.submitOrder("Order"); + } + + public void purchaseGoods() { + retailer3.submitOrder("Order"); + } + + public void notifyShipment(String order) { + outstandingOrders.remove(order); + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + public boolean hasOutstandingOrders() { + return outstandingOrders.size() != 0; + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java new file mode 100644 index 0000000000..9717025a4f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerComponentImpl.java @@ -0,0 +1,104 @@ +/* + * 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 java.util.ArrayList; + +import org.osgi.service.component.ComponentContext; + + +import supplychain.retailer.Retailer; + +/** + * This class implements the Customer service component. + */ +public class OSGiCustomerComponentImpl implements Customer { + + + private Retailer retailer1; + private Retailer retailer2; + private Retailer retailer3; + + private ArrayList outstandingOrders = new ArrayList(); + + public OSGiCustomerComponentImpl() { + System.out.println("Created OSGiCustomerComponentImpl " + this); + } + + protected void setRetailer1(Retailer retailer1) { + this.retailer1 = retailer1; + } + + protected void unsetRetailer1(Retailer retailer1) { + this.retailer1 = null; + } + + + protected void setRetailer2(Retailer retailer2) { + this.retailer2 = retailer2; + } + + protected void unsetRetailer2(Retailer retailer2) { + this.retailer2 = null; + } + + protected void setRetailer3(Retailer retailer2) { + this.retailer3 = retailer2; + } + + protected void unsetRetailer3(Retailer retailer2) { + this.retailer3 = null; + } + + public void purchaseBooks() { + System.out.println("OSGiCustomerComponentImpl.purchaseBooks"); + outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (ParcelForce)"); + retailer1.submitOrder("Order"); + } + + public void purchaseGames() { + System.out.println("OSGiCustomerComponentImpl.purchaseGames"); + outstandingOrders.add("Order, submitted (play.com), fulfilled, shipped (ParcelForce)"); + + retailer2.submitOrder("Order"); + } + + public void purchaseGoods() { + retailer3.submitOrder("Order"); + } + + public void notifyShipment(String order) { + outstandingOrders.remove(order); + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + protected void activate(ComponentContext context){ + System.out.println("Activated OSGiCustomerComponentImpl bundle "); + } + + protected void deactivate(ComponentContext context){ + System.out.println("Deactivated OSGiCustomerComponentImpl bundle "); + } + + public boolean hasOutstandingOrders() { + return outstandingOrders.size() != 0; + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerFactoryImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerFactoryImpl.java new file mode 100644 index 0000000000..c8cb522cf4 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerFactoryImpl.java @@ -0,0 +1,65 @@ +/* + * 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.osgi.framework.Bundle; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceFactory; +import org.osgi.framework.ServiceRegistration; + +/** + * This class implements the Customer service component. + */ +public class OSGiCustomerFactoryImpl implements BundleActivator, ServiceFactory { + + private BundleContext bundleContext; + + public OSGiCustomerFactoryImpl() { + } + + + public void start(BundleContext bc) { + + this.bundleContext = bc; + bc.registerService(Customer.class.getName(), this, null); + } + + + + + public void stop(BundleContext context) throws Exception { + + } + + + public Object getService(Bundle bundle, ServiceRegistration registration) { + + OSGiCustomerImpl customer = new OSGiCustomerImpl(false); + customer.start(bundleContext); + return customer; + + } + + public void ungetService(Bundle bundle, ServiceRegistration registration, Object obj) { + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerImpl.java new file mode 100644 index 0000000000..546971860e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerImpl.java @@ -0,0 +1,92 @@ +/* + * 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 java.util.ArrayList; + +import org.osoa.sca.annotations.AllowsPassByReference; + +import supplychain.OSGiBundleImpl; +import supplychain.retailer.Retailer; + +/** + * This class implements the Customer service component. + */ +@AllowsPassByReference +public class OSGiCustomerImpl extends OSGiBundleImpl implements Customer { + + private ArrayList outstandingOrders = new ArrayList(); + + private Retailer retailer1; + private Retailer retailer2; + private Retailer retailer3; + + public OSGiCustomerImpl() { + super( new String[]{"retailer1", "retailer2", "retailer3"}, + new String[]{"(retailerName=amazon.com)", + "(retailerName=play.com)", + "(retailerName=ebay.com)" + }); + registerService(this, "supplychain.customer.Customer", null); + + } + + public OSGiCustomerImpl(boolean ignore) { // Used only to test service factories + super( new String[]{"retailer1", "retailer2", "retailer3"}, + new String[]{"(retailerName=amazon.com)", + "(retailerName=play.com)", + "(retailerName=ebay.com)" + }); + + } + + public void purchaseBooks() { + System.out.println("OSGiCustomerImpl.purchaseBooks, retailer is " + retailer1); + outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (ParcelForce)"); + + retailer1.submitOrder("Order"); + + } + + public void purchaseGames() { + System.out.println("OSGiCustomerImpl.purchaseGames, retailer is " + retailer2); + outstandingOrders.add("Order, submitted (play.com), fulfilled, shipped (ParcelForce)"); + + retailer2.submitOrder("Order"); + + } + + public void purchaseGoods() { + retailer3.submitOrder("Order"); + } + + public void notifyShipment(String order) { + + outstandingOrders.remove(order); + + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + public boolean hasOutstandingOrders() { + return outstandingOrders.size() != 0; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java new file mode 100644 index 0000000000..02862bc5f6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryComponentImpl.java @@ -0,0 +1,100 @@ +/* + * 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 java.util.ArrayList; + +import org.osgi.service.component.ComponentContext; + + +import supplychain.retailer.Retailer; +import supplychain.retailer.RetailerQuery; + +/** + * This class implements the Customer service component. + */ +public class OSGiCustomerWithQueryComponentImpl implements Customer { + + + private Retailer retailer; + private RetailerQuery retailerQuery; + + private static ArrayList outstandingOrders = new ArrayList(); + + public OSGiCustomerWithQueryComponentImpl() { + System.out.println("Created OSGiCustomerWithQueryComponentImpl " + this); + } + + protected void setRetailer(Retailer retailer) { + this.retailer = retailer; + } + + protected void unsetRetailer(Retailer retailer) { + this.retailer = null; + } + + + protected void setRetailerQuery(RetailerQuery retailerQuery) { + this.retailerQuery = retailerQuery; + } + + protected void unsetRetailerQuery(RetailerQuery retailerQuery) { + this.retailerQuery = null; + } + + public void purchaseBooks() { + System.out.println("OSGiCustomerWithQueryComponentImpl.purchaseBooks"); + outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (RoyalMail)"); + + if (retailerQuery.isAvailable("Order")) + retailer.submitOrder("Order"); + } + + public void purchaseGames() { + System.out.println("OSGiCustomerWithQueryComponentImpl.purchaseGames"); + outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (RoyalMail)"); + + if (retailerQuery.isAvailable("Order")) + retailer.submitOrder("Order"); + } + + public void purchaseGoods() { + if (retailerQuery.isAvailable("Order")) + retailer.submitOrder("Order"); + } + + public void notifyShipment(String order) { + outstandingOrders.remove(order); + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + protected void activate(ComponentContext context){ + System.out.println("Activated OSGiCustomerWithQueryComponentImpl bundle "); + } + + protected void deactivate(ComponentContext context){ + System.out.println("Deactivated OSGiCustomerWithQueryComponentImpl bundle "); + } + + public boolean hasOutstandingOrders() { + return outstandingOrders.size() != 0; + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryImpl.java new file mode 100644 index 0000000000..18483817ad --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiCustomerWithQueryImpl.java @@ -0,0 +1,82 @@ +/* + * 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 java.util.ArrayList; + +import supplychain.OSGiBundleImpl; +import supplychain.retailer.Retailer; +import supplychain.retailer.RetailerQuery; + +/** + * This class implements the Customer service component. + */ +public class OSGiCustomerWithQueryImpl extends OSGiBundleImpl implements Customer { + + private static ArrayList outstandingOrders = new ArrayList(); + + private Retailer retailer; + private RetailerQuery retailerQuery; + + public OSGiCustomerWithQueryImpl() { + super( new String[]{"retailer", "retailerQuery"}, + new String[]{"(component.service.name=RetailerComponent/Retailer)", + "(component.service.name=RetailerComponent/RetailerQuery)" + }); + registerService(this, "supplychain.customer.Customer", null); + + } + + public void purchaseBooks() { + System.out.println("OSGiCustomerWithQueryImpl.purchaseBooks"); + outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (RoyalMail)"); + + if (retailerQuery.isAvailable("Order")) + retailer.submitOrder("Order"); + + } + + public void purchaseGames() { + System.out.println("OSGiCustomerWithQueryImpl.purchaseGames"); + outstandingOrders.add("Order, submitted (amazon.com), fulfilled, shipped (RoyalMail)"); + + if (retailerQuery.isAvailable("Order")) + retailer.submitOrder("Order"); + + } + + public void purchaseGoods() { + if (retailerQuery.isAvailable("Order")) + retailer.submitOrder("Order"); + } + + public void notifyShipment(String order) { + + outstandingOrders.remove(order); + + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + public boolean hasOutstandingOrders() { + return outstandingOrders.size() != 0; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerComponentImpl.java new file mode 100644 index 0000000000..5ba42780f2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerComponentImpl.java @@ -0,0 +1,30 @@ +/* + * 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.Scope; + + +/** + * This class implements the Customer service component. + */ +@Scope("STATELESS") +public class OSGiStatelessCustomerComponentImpl extends OSGiCustomerComponentImpl { + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerImpl.java new file mode 100644 index 0000000000..bc569d0ac0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiStatelessCustomerImpl.java @@ -0,0 +1,35 @@ +/* + * 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.Scope; + + +/** + * This class implements the Customer service component. + */ +@Scope("STATELESS") +public class OSGiStatelessCustomerImpl extends OSGiCustomerImpl { + + public OSGiStatelessCustomerImpl(boolean ignore) { + super(ignore); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiVersionedCustomerImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiVersionedCustomerImpl.java new file mode 100644 index 0000000000..599ab51a50 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/customer/OSGiVersionedCustomerImpl.java @@ -0,0 +1,98 @@ +/* + * 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 java.util.ArrayList; +import java.util.Hashtable; + +import org.osgi.framework.BundleContext; + +import supplychain.OSGiBundleImpl; +import supplychain.retailer.Retailer; + +/** + * This class implements the Customer service component. + */ +public class OSGiVersionedCustomerImpl extends OSGiBundleImpl implements Customer { + + private static ArrayList outstandingOrders = new ArrayList(); + + private Retailer retailer1; + private Retailer retailer2; + private Retailer retailer3; + private int version; + + public OSGiVersionedCustomerImpl() { + super( new String[]{"retailer1", "retailer2", "retailer3"}, + new String[]{"(retailerName=amazon.com)", + "(retailerName=play.com)", + "(retailerName=ebay.com)" + }); + + } + + protected void started(BundleContext bc) { + + String jarFile = bc.getBundle().getLocation(); + if (jarFile.endsWith("1.jar")) version = 1; + else if (jarFile.endsWith("2.jar")) version = 2; + else version = 3; + + Hashtable props1 = new Hashtable(); + props1.put("component.name", "CustomerComponent" + version); + bc.registerService("supplychain.customer.Customer", this, props1); + + } + + public void purchaseBooks() { + System.out.println("OSGiVersionedCustomerImpl.purchaseBooks , retailer is " + retailer1); + outstandingOrders.add("Order, submitted (amazon.com v" + version + + "), fulfilled, shipped (ParcelForce)"); + + retailer1.submitOrder("Order"); + + } + + public void purchaseGames() { + System.out.println("OSGiCustomerImpl.purchaseGames"); + outstandingOrders.add("Order, submitted (play.com v" + version + + "), fulfilled, shipped (ParcelForce)"); + + retailer2.submitOrder("Order"); + + } + + public void purchaseGoods() { + retailer3.submitOrder("Order"); + } + + public void notifyShipment(String order) { + + outstandingOrders.remove(order); + + System.out.print("Work thread " + Thread.currentThread() + " - "); + System.out.println(order); + } + + public boolean hasOutstandingOrders() { + return outstandingOrders.size() != 0; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java new file mode 100644 index 0000000000..df52c6c760 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/JavaRetailerComponentImpl.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.retailer; + + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +import supplychain.warehouse.Warehouse; + +/** + * This class implements the Customer service component. + */ +@Service(Retailer.class) +@Scope("COMPOSITE") +public class JavaRetailerComponentImpl implements Retailer { + + private Warehouse warehouse; + + private String retailerName; + + public JavaRetailerComponentImpl() { + System.out.println("Created RetailerComponentImpl"); + } + + @Reference + public void setWarehouse(Warehouse warehouse) { + System.out.println("retailer setWarehouse " + warehouse); + + this.warehouse = warehouse; + } + + @Property + public void setRetailerName(String retailerName) { + this.retailerName = retailerName; + } + + + public void submitOrder(String order) { + + System.out.println("JavaRetailerComponentImpl.submitOrder " + warehouse); + warehouse.fulfillOrder(order + ", submitted (" + retailerName + ")"); + + } + + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java new file mode 100644 index 0000000000..d4374e4315 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerComponentImpl.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.retailer; + +import org.osgi.service.component.ComponentContext; + +import supplychain.warehouse.Warehouse; + +/** + * This class implements the Customer service component. + */ +public class OSGiRetailerComponentImpl implements Retailer { + + private Warehouse warehouse; + private String retailerName; + + + protected void setWarehouse(Warehouse warehouse) { + this.warehouse = warehouse; + } + + protected void unsetWarehouse(Warehouse warehouse) { + this.warehouse = null; + } + + public void submitOrder(String order) { + + System.out.println("OSGiRetailerComponentImpl.submitOrder , warehouse is " + warehouse); + warehouse.fulfillOrder(order + ", submitted (" + retailerName + ")"); + + } + + protected void activate(ComponentContext context){ + System.out.println("Activated OSGiRetailerComponentImpl bundle "); + + Object prop = context.getProperties().get("retailerName"); + if (prop instanceof String[]) + retailerName = ((String [])prop)[0]; + + + } + + protected void deactivate(ComponentContext context){ + System.out.println("Deactivated OSGiRetailerComponentImpl bundle "); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerImpl.java new file mode 100644 index 0000000000..e71c624f49 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerImpl.java @@ -0,0 +1,58 @@ +/* + * 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 java.util.Hashtable; + +import supplychain.OSGiBundleImpl; +import supplychain.warehouse.Warehouse; + +/** + * This class implements the Retailer service component. + */ +public class OSGiRetailerImpl extends OSGiBundleImpl { + + protected Warehouse warehouse; + + public OSGiRetailerImpl() { + + super(new String[]{"warehouse"}, + new String[]{"(component.service.name=WarehouseComponent1/Warehouse)"}); + + Hashtable props1 = new Hashtable(); + props1.put("retailerName", "amazon.com"); + registerService(new OSGiRetailerServiceImpl(this, "amazon.com"), + "supplychain.retailer.Retailer", props1); + + Hashtable props2 = new Hashtable(); + props2.put("retailerName", "play.com"); + registerService( + new OSGiRetailerServiceImpl(this, "play.com"), + "supplychain.retailer.Retailer", props2); + + Hashtable props3 = new Hashtable(); + props3.put("retailerName", "ebay.com"); + registerService( + new OSGiRetailerServiceImpl(this, "ebay.com"), + "supplychain.retailer.Retailer", props3); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerServiceImpl.java new file mode 100644 index 0000000000..a036ecfc76 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerServiceImpl.java @@ -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.retailer; + + +/** + * This class implements the Retailer service. + */ +public class OSGiRetailerServiceImpl implements Retailer { + + private OSGiRetailerImpl retailerImpl; + + private String retailerName; + + OSGiRetailerServiceImpl(OSGiRetailerImpl retailerImpl, String retailerName) { + this.retailerImpl = retailerImpl; + this.retailerName = retailerName; + + } + + public void submitOrder(String order) { + + System.out.println("Retailer.submitOrder, warehouse is " + retailerImpl.warehouse); + retailerImpl.warehouse.fulfillOrder(order + ", submitted (" + + retailerName + ")"); + + } + +} \ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java new file mode 100644 index 0000000000..278a439540 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryComponentImpl.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.retailer; + +import org.osgi.service.component.ComponentContext; + +import supplychain.warehouse.Warehouse; +import supplychain.warehouse.WarehouseQuery; + +/** + * This class implements the Customer service component. + */ +public class OSGiRetailerWithQueryComponentImpl implements Retailer, RetailerQuery { + + private Warehouse warehouse; + private WarehouseQuery warehouseQuery; + private String retailerName; + + + protected void setWarehouse(Warehouse warehouse) { + this.warehouse = warehouse; + } + + protected void unsetWarehouse(Warehouse warehouse) { + this.warehouse = null; + } + + protected void setWarehouseQuery(WarehouseQuery warehouseQuery) { + this.warehouseQuery = warehouseQuery; + } + + protected void unsetWarehouseQuery(WarehouseQuery warehouse) { + this.warehouseQuery = null; + } + + public void submitOrder(String order) { + + System.out.println("OSGiRetailerComponentImpl.submitOrder , warehouse is " + warehouse); + warehouse.fulfillOrder(order + ", submitted (" + retailerName + ")"); + + } + + public boolean isAvailable(String order) { + return warehouseQuery.isAvailable(order); + } + + protected void activate(ComponentContext context){ + System.out.println("Activated OSGiRetailerComponentImpl bundle "); + + Object prop = context.getProperties().get("retailerName"); + if (prop instanceof String[]) + retailerName = ((String [])prop)[0]; + + + } + + protected void deactivate(ComponentContext context){ + System.out.println("Deactivated OSGiRetailerComponentImpl bundle "); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryImpl.java new file mode 100644 index 0000000000..ee1f575e70 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiRetailerWithQueryImpl.java @@ -0,0 +1,64 @@ +/* + * 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 java.util.Hashtable; + +import supplychain.OSGiBundleImpl; +import supplychain.warehouse.Warehouse; +import supplychain.warehouse.WarehouseQuery; + +/** + * This class implements the Retailer service component with query. + */ +public class OSGiRetailerWithQueryImpl extends OSGiBundleImpl implements Retailer, RetailerQuery { + + private Warehouse warehouse; + private WarehouseQuery warehouseQuery; + + public OSGiRetailerWithQueryImpl() { + + super(new String[]{"warehouse", "warehouseQuery"}, null); + + Hashtable props1 = new Hashtable(); + props1.put("retailerName", "amazon.com"); + registerService(this, + "supplychain.retailer.Retailer", props1); + + registerService(this, + "supplychain.retailer.RetailerQuery", props1); + + } + + public void submitOrder(String order) { + + System.out.println("Retailer.submitOrder, warehouse is " + warehouse); + warehouse.fulfillOrder(order + ", submitted (" + + "amazon.com" + ")"); + + } + + public boolean isAvailable(String order) { + return warehouseQuery.isAvailable(order); + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerImpl.java new file mode 100644 index 0000000000..09e60ca626 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerImpl.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.retailer; + + +import java.util.Hashtable; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceReference; + +import supplychain.OSGiBundleImpl; +import supplychain.warehouse.Warehouse; + +/** + * This class implements the Retailer service component. + */ +public class OSGiVersionedRetailerImpl extends OSGiBundleImpl { + + protected Warehouse warehouse; + + private int version; + + public OSGiVersionedRetailerImpl() { + + super(new String[]{"warehouse"}, null); + + + } + + protected void started(BundleContext bc) { + String jarFile = bc.getBundle().getLocation(); + if (jarFile.endsWith("1.jar")) version = 1; + else if (jarFile.endsWith("2.jar")) version = 2; + else version = 3; + + Hashtable props1 = new Hashtable(); + props1.put("retailerName", "amazon.com"); + bc.registerService("supplychain.retailer.Retailer", + new OSGiVersionedRetailerServiceImpl(this, "amazon.com", version), + props1); + + Hashtable props2 = new Hashtable(); + props2.put("retailerName", "play.com"); + bc.registerService( + "supplychain.retailer.Retailer", + new OSGiVersionedRetailerServiceImpl(this, "play.com", version), + props2); + + try { + ServiceReference[] refs = bc.getServiceReferences(Warehouse.class.getName(), + "(component.service.name=WarehouseComponent" + version + "/Warehouse)"); + if (refs != null && refs.length > 0) { + warehouse = (Warehouse) bc.getService(refs[0]); + } + } catch (InvalidSyntaxException e) { + } + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerServiceImpl.java new file mode 100644 index 0000000000..7dd70889c7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/OSGiVersionedRetailerServiceImpl.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.retailer; + + +/** + * This class implements the Retailer service. + */ +public class OSGiVersionedRetailerServiceImpl implements Retailer { + + private OSGiVersionedRetailerImpl retailerImpl; + + private String retailerName; + + private int version; + + OSGiVersionedRetailerServiceImpl(OSGiVersionedRetailerImpl retailerImpl, String retailerName, int version) { + this.retailerImpl = retailerImpl; + this.retailerName = retailerName; + this.version = version; + } + + public void submitOrder(String order) { + + System.out.println("Retailer.submitOrder, warehouse is " + retailerImpl.warehouse); + retailerImpl.warehouse.fulfillOrder(order + ", submitted (" + + retailerName + " v" + version + ")"); + + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/Retailer.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/Retailer.java new file mode 100644 index 0000000000..1e87d59af1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/Retailer.java @@ -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); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/RetailerQuery.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/RetailerQuery.java new file mode 100644 index 0000000000..354f40a064 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/retailer/RetailerQuery.java @@ -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 RetailerQuery service. + */ +public interface RetailerQuery { + + public boolean isAvailable(String order); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java new file mode 100644 index 0000000000..d0cf43a960 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/JavaShipperComponentImpl.java @@ -0,0 +1,58 @@ +/* + * 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.Property; +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. + */ +@Service(Shipper.class) +@Scope("COMPOSITE") +public class JavaShipperComponentImpl implements Shipper { + + private Customer customer; + + private String shipperName; + + @Reference + public void setCustomer(Customer customer) { + this.customer = customer; + } + + @Property + public void setShipperName(String shipperName) { + this.shipperName = shipperName; + } + + + + public void processShipment(String order) { + System.out.println("JavaShipperComponentImpl.processShipment"); + customer.notifyShipment(order + ", shipped (" + shipperName + ")"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java new file mode 100644 index 0000000000..f3a98be77b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperComponentImpl.java @@ -0,0 +1,62 @@ +/* + * 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.osgi.service.component.ComponentContext; + +import supplychain.customer.Customer; + +/** + * This class implements the Shipper service component. + */ +public class OSGiShipperComponentImpl implements Shipper { + + private Customer customer; + private String shipperName; + + protected void setCustomer(Customer customer) { + this.customer = customer; + } + + protected void unsetCustomer(Customer customer) { + this.customer = null; + } + + public void processShipment(String order) { + System.out.println("OSGiShipperComponentImpl.processShipment, customer is " + customer); + customer.notifyShipment(order + ", shipped (" + shipperName + ")"); + } + + + protected void activate(ComponentContext context){ + System.out.println("Activated OSGiShipperComponentImpl bundle "); + + Object prop = context.getProperties().get("shipperName"); + if (prop instanceof String[]) + shipperName = ((String [])prop)[0]; + + } + + protected void deactivate(ComponentContext context){ + System.out.println("Deactivated OSGiShipperComponentImpl bundle "); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperFactoryImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperFactoryImpl.java new file mode 100644 index 0000000000..ef989d6fcf --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperFactoryImpl.java @@ -0,0 +1,78 @@ +/* + * 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 java.util.Hashtable; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceFactory; +import org.osgi.framework.ServiceRegistration; + + +/** + * This class implements the Shipper service component. + */ +public class OSGiShipperFactoryImpl implements BundleActivator, ServiceFactory { + + private BundleContext bundleContext; + + public OSGiShipperFactoryImpl() { + + } + + + public void start(BundleContext bc) { + + this.bundleContext = bc; + + Hashtable props1 = new Hashtable(); + props1.put("shipperName", "RoyalMail"); + bc.registerService(Shipper.class.getName(), this, props1); + + Hashtable props2 = new Hashtable(); + props2.put("shipperName", "ParcelForce"); + bc.registerService(Shipper.class.getName(), this, props2); + } + + + + + public void stop(BundleContext context) throws Exception { + + } + + + public Object getService(Bundle bundle, ServiceRegistration reg) { + OSGiShipperImpl shipper = new OSGiShipperImpl(false); + shipper.start(bundleContext); + OSGiStatelessShipperServiceImpl shipperService = new OSGiStatelessShipperServiceImpl(shipper, + (String)reg.getReference().getProperty("shipperName")); + return shipperService; + } + + public void ungetService(Bundle arg0, ServiceRegistration arg1, Object arg2) { + + } + + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperImpl.java new file mode 100644 index 0000000000..effae8c246 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperImpl.java @@ -0,0 +1,57 @@ +/* + * 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 java.util.Hashtable; + +import supplychain.OSGiBundleImpl; +import supplychain.customer.Customer; + +/** + * This class implements the Shipper service component. + */ +public class OSGiShipperImpl extends OSGiBundleImpl { + + protected Customer customer; + + + public OSGiShipperImpl() { + + super(new String[]{"customer"}, null); + + Hashtable props1 = new Hashtable(); + props1.put("shipperName", "RoyalMail"); + registerService(new OSGiShipperServiceImpl(this, "RoyalMail"), + "supplychain.shipper.Shipper", props1); + + Hashtable props2 = new Hashtable(); + props2.put("shipperName", "ParcelForce"); + registerService( + new OSGiShipperServiceImpl(this, "ParcelForce"), + "supplychain.shipper.Shipper", props2); + } + + // Used only by service factories + public OSGiShipperImpl(boolean ignore) { + + super(new String[]{"customer"}, null); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperServiceImpl.java new file mode 100644 index 0000000000..4effadf208 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiShipperServiceImpl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.shipper; + + +/** + * This class implements the Shipper service. + */ +public class OSGiShipperServiceImpl implements Shipper { + + private OSGiShipperImpl shipperImpl; + + private String shipperName; + + OSGiShipperServiceImpl(OSGiShipperImpl shipperImpl, String shipperName) { + this.shipperImpl = shipperImpl; + this.shipperName = shipperName; + } + + public void processShipment(String order) { + + System.out.println("Shipper.submitOrder, warehouse is " + shipperImpl.customer); + shipperImpl.customer.notifyShipment(order + ", shipped (" + shipperName + ")"); + + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperComponentImpl.java new file mode 100644 index 0000000000..13bce67bb4 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperComponentImpl.java @@ -0,0 +1,30 @@ +/* + * 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.Scope; + + +/** + * This class implements the Shipper service component. + */ +@Scope("STATELESS") +public class OSGiStatelessShipperComponentImpl extends OSGiShipperComponentImpl { + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperServiceImpl.java new file mode 100644 index 0000000000..071a131f40 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiStatelessShipperServiceImpl.java @@ -0,0 +1,35 @@ +/* + * 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.Scope; + + +/** + * This class implements the Shipper service. + */ +@Scope("STATELESS") +public class OSGiStatelessShipperServiceImpl extends OSGiShipperServiceImpl { + + public OSGiStatelessShipperServiceImpl(OSGiShipperImpl shipperImpl, String shipperName) { + super(shipperImpl, shipperName); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperImpl.java new file mode 100644 index 0000000000..6ebd1f2894 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperImpl.java @@ -0,0 +1,78 @@ +/* + * 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 java.util.Hashtable; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceReference; + +import supplychain.OSGiBundleImpl; +import supplychain.customer.Customer; + +/** + * This class implements the Shipper service component. + */ +public class OSGiVersionedShipperImpl extends OSGiBundleImpl { + + protected Customer customer; + + private int version; + + + public OSGiVersionedShipperImpl() { + + super(new String[]{"customer"}, null); + } + + protected void started(BundleContext bc) { + + String jarFile = bc.getBundle().getLocation(); + if (jarFile.endsWith("1.jar")) version = 1; + else if (jarFile.endsWith("2.jar")) version = 2; + + + Hashtable props1 = new Hashtable(); + props1.put("shipperName", "RoyalMail"); + props1.put("component.service.name", "ShipperComponent"+version+"/ShipperService1"); + bc.registerService("supplychain.shipper.Shipper", + new OSGiVersionedShipperServiceImpl(this, "RoyalMail", version), + props1); + + Hashtable props2 = new Hashtable(); + props2.put("shipperName", "ParcelForce"); + props2.put("component.service.name", "ShipperComponent"+version+"/ShipperService2"); + bc.registerService("supplychain.shipper.Shipper", + new OSGiVersionedShipperServiceImpl(this, "ParcelForce", version), + props2); + + try { + ServiceReference[] refs = bc.getServiceReferences(Customer.class.getName(), + "(component.service.name=CustomerComponent" + version + "/CustomerService)"); + if (refs != null && refs.length > 0) { + customer = (Customer) bc.getService(refs[0]); + } + } catch (InvalidSyntaxException e) { + } + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperServiceImpl.java new file mode 100644 index 0000000000..b66961b1c2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/OSGiVersionedShipperServiceImpl.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.shipper; + + +/** + * This class implements the Shipper service. + */ +public class OSGiVersionedShipperServiceImpl implements Shipper { + + private OSGiVersionedShipperImpl shipperImpl; + + private String shipperName; + + private int version; + + OSGiVersionedShipperServiceImpl(OSGiVersionedShipperImpl shipperImpl, String shipperName, int version) { + this.shipperImpl = shipperImpl; + this.shipperName = shipperName; + this.version = version; + } + + public void processShipment(String order) { + + System.out.println("Shipper.processShipment, version " + version + " customer is " + shipperImpl.customer); + shipperImpl.customer.notifyShipment(order + ", shipped (" + shipperName + ")"); + + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/Shipper.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/Shipper.java new file mode 100644 index 0000000000..2514928c10 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/shipper/Shipper.java @@ -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); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java new file mode 100644 index 0000000000..9edf3567e5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseComponentImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package supplychain.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. + */ +@Service(Warehouse.class) +@Scope("STATELESS") +public class JavaWarehouseComponentImpl implements Warehouse { + + private Shipper shipper; + + @Reference + public void setShipper(Shipper shipper) { + this.shipper = shipper; + } + + public void fulfillOrder(String order) { + System.out.println("JavaWarehouseComponentImpl.fulfillOrder : shipper is " + shipper); + + shipper.processShipment(order + ", fulfilled"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseWithQueryComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseWithQueryComponentImpl.java new file mode 100644 index 0000000000..659f16be7f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/JavaWarehouseWithQueryComponentImpl.java @@ -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.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. + */ +@Service(interfaces={Warehouse.class, WarehouseQuery.class}) +@Scope("COMPOSITE") +public class JavaWarehouseWithQueryComponentImpl implements Warehouse, WarehouseQuery { + + private Shipper shipper; + + @Reference + public void setShipper(Shipper shipper) { + this.shipper = shipper; + } + + public void fulfillOrder(String order) { + System.out.println("JavaWarehouseComponentImpl.fulfillOrder : shipper is " + shipper); + + shipper.processShipment(order + ", fulfilled"); + } + + public boolean isAvailable(String order) { + return true; + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java new file mode 100644 index 0000000000..dd283bf779 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseComponentImpl.java @@ -0,0 +1,57 @@ +/* + * 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.osgi.service.component.ComponentContext; + +import supplychain.shipper.Shipper; + +/** + * This class implements the Warehouse service component. + */ + +public class OSGiWarehouseComponentImpl implements Warehouse { + + private Shipper shipper; + + protected void setShipper(Shipper shipper) { + this.shipper = shipper; + } + + protected void unsetShipper(Shipper shipper) { + this.shipper = null; + } + + public void fulfillOrder(String order) { + System.out.println("OSGiWarehouseComponentImpl.fulfillOrder : shipper is " + shipper); + + shipper.processShipment(order + ", fulfilled"); + + } + + protected void activate(ComponentContext context){ + System.out.println("Activated OSGiWarehouseComponentImpl "); + } + + protected void deactivate(ComponentContext context){ + System.out.println("Deactivated OSGiWarehouseComponentImpl "); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java new file mode 100644 index 0000000000..bb04ff42e0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseImpl.java @@ -0,0 +1,68 @@ +/* + * 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 java.util.Hashtable; + +import org.osgi.framework.BundleContext; + +import supplychain.OSGiBundleImpl; +import supplychain.shipper.Shipper; + +/** + * This class implements the Warehouse service component. + */ + +public class OSGiWarehouseImpl extends OSGiBundleImpl implements Warehouse { + + protected Shipper shipper; + private OSGiWarehouseServiceImpl warehouseService1; + private OSGiWarehouseServiceImpl warehouseService2; + + public OSGiWarehouseImpl() { + super(new String[]{"shipper"}, null); + + Hashtable props1 = new Hashtable(); + props1.put("component.name", "WarehouseComponent1"); + warehouseService1 = new OSGiWarehouseServiceImpl(this, 2); + registerService(warehouseService1, + "supplychain.warehouse.Warehouse", props1); + + Hashtable props2 = new Hashtable(); + props2.put("component.name", "WarehouseComponent2"); + warehouseService2 = new OSGiWarehouseServiceImpl(this, 1); + registerService(warehouseService2, + "supplychain.warehouse.Warehouse", props2); + } + + protected void started(BundleContext bc) { + warehouseService1.started(bc); + warehouseService2.started(bc); + } + + public void fulfillOrder(String order) { + System.out.println("OSGiWarehouseImpl.fulfillOrder : shipper is " + shipper); + + shipper.processShipment(order + ", fulfilled"); + + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseServiceImpl.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseServiceImpl.java new file mode 100644 index 0000000000..3317816557 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/OSGiWarehouseServiceImpl.java @@ -0,0 +1,62 @@ +/* + * 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.osgi.framework.BundleContext; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceReference; + +import supplychain.shipper.Shipper; + + +/** + * This class implements the Warehouse service. + */ +public class OSGiWarehouseServiceImpl implements Warehouse { + + private OSGiWarehouseImpl warehouseImpl; + private Shipper shipper; + private int shipperNum; + + + OSGiWarehouseServiceImpl(OSGiWarehouseImpl warehouseImpl, int shipperNum) { + this.warehouseImpl = warehouseImpl; + this.shipperNum = shipperNum; + } + + + protected void started(BundleContext bc) { + try { + ServiceReference[] refs = bc.getServiceReferences(Shipper.class.getName(), + "(component.service.name=ShipperComponent" + shipperNum + "/Shipper)"); + if (refs != null && refs.length > 0) { + shipper = (Shipper) bc.getService(refs[0]); + } + } catch (InvalidSyntaxException e) { + } + } + + public void fulfillOrder(String order) { + System.out.println("OSGiWarehouseImpl.fulfillOrder : shipper is " + warehouseImpl.shipper); + + shipper.processShipment(order + ", fulfilled"); + + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/Warehouse.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/Warehouse.java new file mode 100644 index 0000000000..6f1f6b8730 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/Warehouse.java @@ -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); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/WarehouseQuery.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/WarehouseQuery.java new file mode 100644 index 0000000000..6d1ad76796 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/java/supplychain/warehouse/WarehouseQuery.java @@ -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 RetailerQuery service. + */ +public interface WarehouseQuery { + + public boolean isAvailable(String order); + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/LICENSE.txt b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/LICENSE.txt new file mode 100644 index 0000000000..0084319535 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, serviceDefinition marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/NOTICE b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/NOTICE new file mode 100644 index 0000000000..d83ebbe236 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/NOTICE @@ -0,0 +1,14 @@ +${pom.name} +Copyright (c) 2005 - 2006 The Apache Software Foundation + +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/README.txt b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/README.txt new file mode 100644 index 0000000000..9b26d1690a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/README.txt @@ -0,0 +1,35 @@ +Apache Tuscany M1 build (May, 2006) +=================================== + +http://incubator.apache.org/tuscany/ + +Tuscany is an effort undergoing incubation at the Apache Software Foundation +(ASF), sponsored by the Web Services PMC. + +Incubation is required of all newly accepted projects until a further review +indicates that the infrastructure, communications, and decision making process +have stabilized in a manner consistent with other successful ASF projects. + +While incubation status is not necessarily a reflection of the completeness or +stability of the code, it does indicate that the project has yet to be fully +endorsed by the ASF. + + +Support +------- + +Any problem with this release can be reported to the Tuscany mailing list +or in the JIRA issue tracker. + +Mailing list subscription: + tuscany-dev-subscribe@ws.apache.org + +Jira: + http://issues.apache.org/jira/browse/Tuscany + + +Thank you for using Tuscany! + + +The Tuscany Team. + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/sca-contribution.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..2d345390b7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackClient.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackClient.componentType new file mode 100644 index 0000000000..71e248590b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackClient.componentType @@ -0,0 +1,31 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackService.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackService.componentType new file mode 100644 index 0000000000..7c1125bbb5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/CallbackService.componentType @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test1.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test1.composite new file mode 100644 index 0000000000..8456b878f2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test1.composite @@ -0,0 +1,39 @@ + + + + + + + + + CallbackClient + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test2.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test2.composite new file mode 100644 index 0000000000..d5a47c6403 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test2.composite @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + CallbackClient + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test3.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test3.composite new file mode 100644 index 0000000000..e6391d2159 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/callback/callback-test3.composite @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalClient.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalClient.componentType new file mode 100644 index 0000000000..c79ede815b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalClient.componentType @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalReferenceClient.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalReferenceClient.componentType new file mode 100644 index 0000000000..04cc73b85c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalReferenceClient.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalService.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalService.componentType new file mode 100644 index 0000000000..9ece700efe --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/ConversationalService.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/conversation-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/conversation-test.composite new file mode 100644 index 0000000000..52bc43478d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/conversation/conversation-test.composite @@ -0,0 +1,162 @@ + + + + + + + + + + + ConversationalStatelessClientStatelessService + + + ConversationalReferenceClient + + + ConversationalServiceStateless + + + ConversationalStatelessClientStatelessService + + + + + + + + + + + + + + + ConversationalStatelessClientStatefulService + + + ConversationalReferenceClient + + + ConversationalServiceStateful + + + ConversationalStatelessClientStatefulService + + + + + + + + + + + + + ConversationalStatefulClientStatelessService + + + ConversationalReferenceClient + + + ConversationalServiceStateless + + + ConversationalStatefulClientStatelessService + + + + + + + + + + + + + + ConversationalStatefulClientStatefulService + + + ConversationalReferenceClient + + + ConversationalServiceStateful + + + ConversationalStatefulClientStatefulService + + + + + + + + + + + + + + + + + + + + + ConversationalServiceStateful + + + + + + + + + + + + ConversationalServiceStateless + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Customer.componentType new file mode 100644 index 0000000000..1fd551be3b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Customer.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Retailer.componentType new file mode 100644 index 0000000000..5599c44bc3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Retailer.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Shipper.componentType new file mode 100644 index 0000000000..8743f8c145 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Shipper.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Warehouse.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/Warehouse.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Customer.componentType new file mode 100644 index 0000000000..1fd551be3b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Customer.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Retailer.componentType new file mode 100644 index 0000000000..5599c44bc3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Retailer.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Shipper.componentType new file mode 100644 index 0000000000..8743f8c145 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Shipper.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Warehouse.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/ds/Warehouse.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-ds-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-ds-test.composite new file mode 100644 index 0000000000..0b8d2e5851 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-ds-test.composite @@ -0,0 +1,130 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + amazon.com + + + + + + amazon.com + + + + + + play.com + + + + + play.com + + + + + + ebay.com + + + + + ebay.com + + + + + + + + + + + + + + + + + + + + + RoyalMail + + + + + RoyalMail + + + + + + + ParcelForce + + + + + ParcelForce + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-test.composite new file mode 100644 index 0000000000..87370a6df4 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/factory/factory-test.composite @@ -0,0 +1,116 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + amazon.com + + + + + + amazon.com + + + + + + play.com + + + + + play.com + + + + + + ebay.com + + + + + ebay.com + + + + + + + + + + + + + + + + + + + + + ParcelForce + + + + + ParcelForce + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/Greetings.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/Greetings.componentType new file mode 100644 index 0000000000..127349eacf --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/Greetings.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/HelloWorld.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/HelloWorld.componentType new file mode 100644 index 0000000000..7e3810c458 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/helloworld/HelloWorld.componentType @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Customer.componentType new file mode 100644 index 0000000000..fb9a112d18 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Customer.componentType @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Retailer.componentType new file mode 100644 index 0000000000..ee732b5efc --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Retailer.componentType @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Shipper.componentType new file mode 100644 index 0000000000..8743f8c145 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Shipper.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Warehouse.componentType new file mode 100644 index 0000000000..b1723660d7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/Warehouse.componentType @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Customer.componentType new file mode 100644 index 0000000000..fb9a112d18 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Customer.componentType @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Retailer.componentType new file mode 100644 index 0000000000..ee732b5efc --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Retailer.componentType @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Shipper.componentType new file mode 100644 index 0000000000..8743f8c145 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Shipper.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Warehouse.componentType new file mode 100644 index 0000000000..b1723660d7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/ds/Warehouse.componentType @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-ds-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-ds-test.composite new file mode 100644 index 0000000000..5172cbe21e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-ds-test.composite @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-test.composite new file mode 100644 index 0000000000..b7591e732d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/interfaces/interfaces-test.composite @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackClient.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackClient.mf new file mode 100644 index 0000000000..cf8717fcf5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackClient.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: CallbackClient +Bundle-SymbolicName: callback.CallbackClient +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, callback.service +Export-Package: callback.client +Bundle-Activator: callback.client.OSGiCallbackClientImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackService.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackService.mf new file mode 100644 index 0000000000..785212fa6d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/callback/CallbackService.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: CallbackService +Bundle-SymbolicName: callback.CallbackService +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, callback.client +Export-Package: callback.service +Bundle-Activator: callback.service.OSGiCallbackServiceImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalClient.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalClient.mf new file mode 100644 index 0000000000..7a06030e32 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalClient.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: ConversationTest +Bundle-SymbolicName: conversation.ConversationalClient +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osoa.sca, org.osoa.sca.annotations, + conversation.service, conversation.referenceclient +Export-Package: conversation.client +Bundle-Activator: conversation.client.ConversationalClientActivator + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalReferenceClient.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalReferenceClient.mf new file mode 100644 index 0000000000..5c39b53b0a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalReferenceClient.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: ConversationTest +Bundle-SymbolicName: conversation.ConversationalReferenceClient +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osoa.sca, org.osoa.sca.annotations, + conversation.service +Export-Package: conversation.referenceclient +Bundle-Activator: conversation.referenceclient.ConversationalReferenceClientActivator + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalService.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalService.mf new file mode 100644 index 0000000000..b8bb809319 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/conversation/ConversationalService.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: ConversationTest +Bundle-SymbolicName: conversation.ConversationalService +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osoa.sca, org.osoa.sca.annotations, + conversation.client +Export-Package: conversation.service +Bundle-Activator: conversation.service.ConversationalServiceActivator + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Customer.mf new file mode 100644 index 0000000000..26f32fe617 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Customer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: factory.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.retailer +Export-Package: supplychain.customer +Bundle-Activator: supplychain.customer.OSGiCustomerFactoryImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Retailer.mf new file mode 100644 index 0000000000..1b9e0e847e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Retailer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: factory.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.warehouse +Export-Package: supplychain.retailer +Bundle-Activator: supplychain.retailer.OSGiRetailerImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Shipper.mf new file mode 100644 index 0000000000..6066a38f29 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: factory.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.customer +Export-Package: supplychain.shipper +Bundle-Activator: supplychain.shipper.OSGiShipperFactoryImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.mf new file mode 100644 index 0000000000..777edd3f7d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: ds.factory.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.retailer +Export-Package: supplychain.customer +Service-Component: osgi/factory/ds/Customer.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.xml new file mode 100644 index 0000000000..d8adaa2ba3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Customer.xml @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer.mf new file mode 100644 index 0000000000..e0bd9d8c10 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: ds.factory.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.warehouse +Export-Package: supplychain.retailer +Service-Component: osgi/factory/ds/Retailer1.xml, osgi/factory/ds/Retailer2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer1.xml new file mode 100644 index 0000000000..6005ae785c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer1.xml @@ -0,0 +1,32 @@ + + + + + + + + + amazon.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer2.xml new file mode 100644 index 0000000000..6f0b79ebc2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Retailer2.xml @@ -0,0 +1,32 @@ + + + + + + + + + play.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper.mf new file mode 100644 index 0000000000..d4b461460e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: ds.factory.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.customer +Export-Package: supplychain.shipper +Service-Component: osgi/factory/ds/Shipper1.xml, osgi/factory/ds/Shipper2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper1.xml new file mode 100644 index 0000000000..bb15e6e3aa --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper1.xml @@ -0,0 +1,34 @@ + + + + + + + + + RoyalMail + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper2.xml new file mode 100644 index 0000000000..7591201b8c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Shipper2.xml @@ -0,0 +1,34 @@ + + + + + + + + + ParcelForce + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.mf new file mode 100644 index 0000000000..0e844fab99 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: ds.factory.supplychain.warehouse.Warehouse +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.shipper +Export-Package: supplychain.warehouse +Service-Component: osgi/factory/ds/Warehouse.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.xml new file mode 100644 index 0000000000..fc86a76784 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/factory/ds/Warehouse.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Customer.mf new file mode 100644 index 0000000000..a8a87c5c8c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Customer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: interfaces.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.retailer +Export-Package: supplychain.customer +Bundle-Activator: supplychain.customer.OSGiCustomerWithQueryImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Retailer.mf new file mode 100644 index 0000000000..05bbf4db88 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Retailer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: interfaces.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.warehouse +Export-Package: supplychain.retailer +Bundle-Activator: supplychain.retailer.OSGiRetailerWithQueryImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Shipper.mf new file mode 100644 index 0000000000..a12d1a21ea --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: interfaces.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.customer +Export-Package: supplychain.shipper +Bundle-Activator: supplychain.shipper.OSGiShipperImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.mf new file mode 100644 index 0000000000..2214db11a6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: ds.interfaces.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.retailer +Export-Package: supplychain.customer +Service-Component: osgi/interfaces/ds/Customer.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.xml new file mode 100644 index 0000000000..8d44067992 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Customer.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.mf new file mode 100644 index 0000000000..60c0fb3fd3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: ds.interfaces.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.warehouse +Export-Package: supplychain.retailer +Service-Component: osgi/interfaces/ds/Retailer.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.xml new file mode 100644 index 0000000000..ca1392d2b8 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Retailer.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + amazon.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.mf new file mode 100644 index 0000000000..7c9f67c36d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: ds.interfaces.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.customer +Export-Package: supplychain.shipper +Service-Component: osgi/interfaces/ds/Shipper.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.xml new file mode 100644 index 0000000000..760c761666 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/interfaces/ds/Shipper.xml @@ -0,0 +1,34 @@ + + + + + + + + + RoyalMail + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/passbyref/Greetings.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/passbyref/Greetings.mf new file mode 100644 index 0000000000..7d56770311 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/passbyref/Greetings.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Greetings +Bundle-SymbolicName: passbyref.helloworld.Greetings +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework +Export-Package: helloworld +Bundle-Activator: helloworld.OSGiGreetingsImpl + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ManagedStockQuoteFactory.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ManagedStockQuoteFactory.mf new file mode 100644 index 0000000000..321bdc713f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ManagedStockQuoteFactory.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: StockQuote +Bundle-SymbolicName: stockquote.ManagedStockQuoteFactory +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osgi.service.cm +Export-Package: stockquote +Bundle-Activator: stockquote.OSGiManagedStockQuoteFactoryImpl + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuote.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuote.mf new file mode 100644 index 0000000000..66f98011cb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuote.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: StockQuote +Bundle-SymbolicName: stockquote.StockQuote +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osgi.service.cm +Export-Package: stockquote +Bundle-Activator: stockquote.OSGiStockQuoteImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuoteFactory.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuoteFactory.mf new file mode 100644 index 0000000000..6874a66db9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/StockQuoteFactory.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: StockQuote +Bundle-SymbolicName: stockquote.StockQuoteFactory +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osgi.service.cm +Export-Package: stockquote +Bundle-Activator: stockquote.OSGiStockQuoteFactoryImpl + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.mf new file mode 100644 index 0000000000..47d290eb1a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.mf @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: StockQuote +Bundle-SymbolicName: ds.stockquote.StockQuote +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osgi.service.component, org.osgi.service.cm +Export-Package: stockquote +Service-Component: osgi/properties/ds/StockQuote.xml + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.xml new file mode 100644 index 0000000000..c7f13a50a7 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuote.xml @@ -0,0 +1,27 @@ + + + + + + + + GBP + 1.0 + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.mf new file mode 100644 index 0000000000..f4c102c4f0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.mf @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: StockQuote +Bundle-SymbolicName: ds.stockquote.StockQuoteFactory +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, org.osgi.service.component, org.osgi.service.cm +Export-Package: stockquote +Service-Component: osgi/properties/ds/StockQuoteFactory.xml + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.xml new file mode 100644 index 0000000000..cbebf7eec2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/properties/ds/StockQuoteFactory.xml @@ -0,0 +1,27 @@ + + + + + + + + GBP + 1.0 + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Customer.mf new file mode 100644 index 0000000000..fc762df8d5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Customer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: services.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.retailer +Export-Package: supplychain.customer +Bundle-Activator: supplychain.customer.OSGiCustomerImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Retailer.mf new file mode 100644 index 0000000000..02e42bc010 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Retailer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: services.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.warehouse +Export-Package: supplychain.retailer +Bundle-Activator: supplychain.retailer.OSGiRetailerImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Shipper.mf new file mode 100644 index 0000000000..390367b99b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: services.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.customer +Export-Package: supplychain.shipper +Bundle-Activator: supplychain.shipper.OSGiShipperImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Warehouse.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Warehouse.mf new file mode 100644 index 0000000000..4715cbd976 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/Warehouse.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: services.supplychain.warehouse.Warehouse +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.shipper +Export-Package: supplychain.warehouse +Bundle-Activator: supplychain.warehouse.OSGiWarehouseImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.mf new file mode 100644 index 0000000000..932fb8a483 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: ds.services.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.retailer +Export-Package: supplychain.customer +Service-Component: osgi/services/ds/Customer.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.xml new file mode 100644 index 0000000000..b10d0416dc --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Customer.xml @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer.mf new file mode 100644 index 0000000000..c799f31606 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: ds.services.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.warehouse +Export-Package: supplychain.retailer +Service-Component: osgi/services/ds/Retailer1.xml, osgi/services/ds/Retailer2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer1.xml new file mode 100644 index 0000000000..db68d7e333 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer1.xml @@ -0,0 +1,32 @@ + + + + + + + + + amazon.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer2.xml new file mode 100644 index 0000000000..1aea3cf669 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Retailer2.xml @@ -0,0 +1,32 @@ + + + + + + + + + play.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper.mf new file mode 100644 index 0000000000..106bd1b6aa --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: ds.services.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.customer +Export-Package: supplychain.shipper +Service-Component: osgi/services/ds/Shipper1.xml, osgi/services/ds/Shipper2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper1.xml new file mode 100644 index 0000000000..1e3c915a59 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper1.xml @@ -0,0 +1,34 @@ + + + + + + + + + RoyalMail + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper2.xml new file mode 100644 index 0000000000..d7d0b41f5e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Shipper2.xml @@ -0,0 +1,34 @@ + + + + + + + + + ParcelForce + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse.mf new file mode 100644 index 0000000000..81c51e6804 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: ds.services.supplychain.warehouse.Warehouse +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.shipper +Export-Package: supplychain.warehouse +Service-Component: osgi/services/ds/Warehouse1.xml, osgi/services/ds/Warehouse2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse1.xml new file mode 100644 index 0000000000..ca50b554df --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse1.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse2.xml new file mode 100644 index 0000000000..14658127f8 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/services/ds/Warehouse2.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer1.mf new file mode 100644 index 0000000000..335bc419c1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer1.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: version.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.retailer;version="[1.0.0,2.0.0)" +Export-Package: supplychain.customer;version="1.0.0" +Bundle-Activator: supplychain.customer.OSGiVersionedCustomerImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer2.mf new file mode 100644 index 0000000000..a68b9d6dbb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Customer2.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: version.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)" +Export-Package: supplychain.customer;version="2.0.0" +Bundle-Activator: supplychain.customer.OSGiVersionedCustomerImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer1.mf new file mode 100644 index 0000000000..02f79c15f3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer1.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: version.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.warehouse +Export-Package: supplychain.retailer;version="1.0.0" +Bundle-Activator: supplychain.retailer.OSGiVersionedRetailerImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer2.mf new file mode 100644 index 0000000000..8428b08d96 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Retailer2.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: version.supplychain.retailer.Retailer +Bundle-Version: 2.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.warehouse +Export-Package: supplychain.retailer;version="2.0.0" +Bundle-Activator: supplychain.retailer.OSGiVersionedRetailerImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper1.mf new file mode 100644 index 0000000000..c81bf00d00 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper1.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: version.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.customer;version="[1.0.0,2.0.0)" +Export-Package: supplychain.shipper;version="1.0.0" +Bundle-Activator: supplychain.shipper.OSGiVersionedShipperImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper2.mf new file mode 100644 index 0000000000..61c161617c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Shipper2.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: version.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.OSGiVersionedShipperImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse1.mf new file mode 100644 index 0000000000..fd6a26a65f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse1.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: version.supplychain.warehouse.Warehouse +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.shipper;version="[1.0.0,2.0.0)" +Export-Package: supplychain.warehouse;version="1.0.0" +Bundle-Activator: supplychain.warehouse.OSGiWarehouseImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse2.mf new file mode 100644 index 0000000000..0168bc2435 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/Warehouse2.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: version.supplychain.warehouse.Warehouse +Bundle-Version: 2.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.shipper;version="2.0.0" +Export-Package: supplychain.warehouse;version="2.0.0" +Bundle-Activator: supplychain.warehouse.OSGiWarehouseImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer1.mf new file mode 100644 index 0000000000..6674cdd7f2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer1.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: ds.version.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.retailer;version="[1.0.0,2.0.0)" +Export-Package: supplychain.customer;version="1.0.0" +Service-Component: osgi/version/ds/CustomerV1.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer2.mf new file mode 100644 index 0000000000..72df35ef41 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Customer2.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: ds.version.supplychain.customer.Customer +Bundle-Version: 2.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.retailer;version="[2.0.0,3.0.0)" +Export-Package: supplychain.customer;version="2.0.0" +Service-Component: osgi/version/ds/CustomerV2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV1.xml new file mode 100644 index 0000000000..724c8132df --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV1.xml @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV2.xml new file mode 100644 index 0000000000..1e5035d949 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/CustomerV2.xml @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1.mf new file mode 100644 index 0000000000..85bfd86422 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: ds.version.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.warehouse +Export-Package: supplychain.retailer;version="1.0.0" +Service-Component: osgi/version/ds/Retailer1V1.xml, osgi/version/ds/Retailer2V1.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V1.xml new file mode 100644 index 0000000000..6e51b3d6f2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V1.xml @@ -0,0 +1,34 @@ + + + + + + + + + amazon.com + 1 + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V2.xml new file mode 100644 index 0000000000..9a87758ec2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer1V2.xml @@ -0,0 +1,34 @@ + + + + + + + + + amazon.com + 2 + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2.mf new file mode 100644 index 0000000000..e134bd1061 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: ds.version.supplychain.retailer.Retailer +Bundle-Version: 2.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.warehouse +Export-Package: supplychain.retailer;version="2.0.0" +Service-Component: osgi/version/ds/Retailer1V2.xml, osgi/version/ds/Retailer2V2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V1.xml new file mode 100644 index 0000000000..c19895bab1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V1.xml @@ -0,0 +1,33 @@ + + + + + + + + + play.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V2.xml new file mode 100644 index 0000000000..707609d2c4 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Retailer2V2.xml @@ -0,0 +1,33 @@ + + + + + + + + + play.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1.mf new file mode 100644 index 0000000000..e084e5831a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: ds.version.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.customer;version="[1.0.0,2.0.0)" +Export-Package: supplychain.shipper;version="1.0.0" +Service-Component: osgi/version/ds/Shipper1V1.xml, osgi/version/ds/Shipper2V1.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V1.xml new file mode 100644 index 0000000000..d96f6481fb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V1.xml @@ -0,0 +1,35 @@ + + + + + + + + + RoyalMail + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V2.xml new file mode 100644 index 0000000000..10ef690c9b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper1V2.xml @@ -0,0 +1,35 @@ + + + + + + + + + RoyalMail + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2.mf new file mode 100644 index 0000000000..003f9dca5a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: ds.version.supplychain.shipper.Shipper +Bundle-Version: 2.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.customer;version="[2.0.0,3.0.0)" +Export-Package: supplychain.shipper;version="2.0.0" +Service-Component: osgi/version/ds/Shipper1V2.xml, osgi/version/ds/Shipper2V2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V1.xml new file mode 100644 index 0000000000..fefdea106d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V1.xml @@ -0,0 +1,35 @@ + + + + + + + + + ParcelForce + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V2.xml new file mode 100644 index 0000000000..f6b847ed59 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Shipper2V2.xml @@ -0,0 +1,35 @@ + + + + + + + + + ParcelForce + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1.mf new file mode 100644 index 0000000000..5cff2f573e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: ds.version.supplychain.warehouse.Warehouse +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.shipper;version="[1.0.0,2.0.0)" +Export-Package: supplychain.warehouse;version="1.0.0" +Service-Component: osgi/version/ds/Warehouse1V1.xml, osgi/version/ds/Warehouse2V2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V1.xml new file mode 100644 index 0000000000..ca50b554df --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V1.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V2.xml new file mode 100644 index 0000000000..14658127f8 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse1V2.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2.mf new file mode 100644 index 0000000000..0fec68a725 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: ds.version.supplychain.warehouse.Warehouse +Bundle-Version: 2.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.shipper;version="[2.0.0,3.0.0)" +Export-Package: supplychain.warehouse;version="2.0.0" +Service-Component: osgi/version/ds/Warehouse1V1.xml, osgi/version/ds/Warehouse2V2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V1.xml new file mode 100644 index 0000000000..ca50b554df --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V1.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V2.xml new file mode 100644 index 0000000000..14658127f8 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/version/ds/Warehouse2V2.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Customer.mf new file mode 100644 index 0000000000..678014d48d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Customer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: wiring.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.retailer +Export-Package: supplychain.customer +Bundle-Activator: supplychain.customer.OSGiCustomerImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Retailer.mf new file mode 100644 index 0000000000..f0090fb52b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Retailer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: wiring.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.warehouse +Export-Package: supplychain.retailer +Bundle-Activator: supplychain.retailer.OSGiRetailerImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Shipper.mf new file mode 100644 index 0000000000..0b50923a05 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: wiring.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.customer +Export-Package: supplychain.shipper +Bundle-Activator: supplychain.shipper.OSGiShipperImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Warehouse.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Warehouse.mf new file mode 100644 index 0000000000..1000a5f974 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/Warehouse.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: wiring.supplychain.warehouse.Warehouse +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + supplychain.shipper +Export-Package: supplychain.warehouse +Bundle-Activator: supplychain.warehouse.OSGiWarehouseImpl diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.mf new file mode 100644 index 0000000000..4e392a9ff1 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Customer +Bundle-SymbolicName: ds.wiring.supplychain.customer.Customer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.retailer +Export-Package: supplychain.customer +Service-Component: osgi/wiring/ds/Customer.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.xml new file mode 100644 index 0000000000..b10d0416dc --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Customer.xml @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer.mf new file mode 100644 index 0000000000..788ec4f19a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Retailer +Bundle-SymbolicName: ds.wiring.supplychain.retailer.Retailer +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.warehouse +Export-Package: supplychain.retailer +Service-Component: osgi/wiring/ds/Retailer1.xml, osgi/wiring/ds/Retailer2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer1.xml new file mode 100644 index 0000000000..1ba16d0693 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer1.xml @@ -0,0 +1,33 @@ + + + + + + + + + amazon.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer2.xml new file mode 100644 index 0000000000..a55ebd02a8 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Retailer2.xml @@ -0,0 +1,33 @@ + + + + + + + + + play.com + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper.mf new file mode 100644 index 0000000000..e7459360e6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper.mf @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Shipper +Bundle-SymbolicName: ds.wiring.supplychain.shipper.Shipper +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, supplychain.customer +Export-Package: supplychain.shipper +Service-Component: osgi/wiring/ds/Shipper1.xml, osgi/wiring/ds/Shipper2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper1.xml new file mode 100644 index 0000000000..d518ecab62 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper1.xml @@ -0,0 +1,35 @@ + + + + + + + + + RoyalMail + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper2.xml new file mode 100644 index 0000000000..d7d0b41f5e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Shipper2.xml @@ -0,0 +1,34 @@ + + + + + + + + + ParcelForce + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse.mf new file mode 100644 index 0000000000..880304187b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse.mf @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Warehouse +Bundle-SymbolicName: ds.wiring.supplychain.warehouse.Warehouse +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component, + supplychain.shipper +Export-Package: supplychain.warehouse +Service-Component: osgi/wiring/ds/Warehouse1.xml, osgi/wiring/ds/Warehouse2.xml diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse1.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse1.xml new file mode 100644 index 0000000000..d72db04425 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse1.xml @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse2.xml b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse2.xml new file mode 100644 index 0000000000..f9c1218f82 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/wiring/ds/Warehouse2.xml @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/ws/HelloWorld.mf b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/ws/HelloWorld.mf new file mode 100644 index 0000000000..d8e4c1cb7e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/osgi/ws/HelloWorld.mf @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: HelloWorld +Bundle-SymbolicName: helloworld.HelloWorld +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Import-Package: org.osgi.framework, + org.osgi.service.component , + helloworld.ws +Export-Package: helloworld +Bundle-Activator: helloworld.OSGiHelloWorldImpl + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/Greetings.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/Greetings.componentType new file mode 100644 index 0000000000..a6de268bf6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/Greetings.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/passbyref-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/passbyref-test.composite new file mode 100644 index 0000000000..660e277693 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/passbyref/passbyref-test.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuote.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuote.componentType new file mode 100644 index 0000000000..5e0965d047 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuote.componentType @@ -0,0 +1,28 @@ + + + + + + + + GBP + 1.0 + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuoteFactory.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuoteFactory.componentType new file mode 100644 index 0000000000..5e0965d047 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/StockQuoteFactory.componentType @@ -0,0 +1,28 @@ + + + + + + + + GBP + 1.0 + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuote.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuote.componentType new file mode 100644 index 0000000000..5e0965d047 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuote.componentType @@ -0,0 +1,28 @@ + + + + + + + + GBP + 1.0 + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuoteFactory.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuoteFactory.componentType new file mode 100644 index 0000000000..5e0965d047 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/ds/StockQuoteFactory.componentType @@ -0,0 +1,28 @@ + + + + + + + + GBP + 1.0 + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-ds-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-ds-test.composite new file mode 100644 index 0000000000..02ae93aec2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-ds-test.composite @@ -0,0 +1,39 @@ + + + + + + + + + stockQuote + + + + USD + 2.0 + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-test.composite new file mode 100644 index 0000000000..fea03404fd --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties-test.composite @@ -0,0 +1,39 @@ + + + + + + + + + stockQuote + + + + USD + 2.0 + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-ds-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-ds-test.composite new file mode 100644 index 0000000000..c94504f07d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-ds-test.composite @@ -0,0 +1,54 @@ + + + + + + + + + stockQuote + + + + USD + 2.0 + + + + + + + + stockQuote + + + + EURO + 1.48 + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-test.composite new file mode 100644 index 0000000000..3c425fcbc9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/properties/properties2-test.composite @@ -0,0 +1,50 @@ + + + + + + + + + + + USD + 2.0 + + + + + + + + + + EURO + 1.48 + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Customer.componentType new file mode 100644 index 0000000000..7bcdc6a2bb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Customer.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Retailer.componentType new file mode 100644 index 0000000000..eadb539ea5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Retailer.componentType @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Shipper.componentType new file mode 100644 index 0000000000..532293b03f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Shipper.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Warehouse.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/Warehouse.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Customer.componentType new file mode 100644 index 0000000000..7bcdc6a2bb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Customer.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Retailer.componentType new file mode 100644 index 0000000000..eadb539ea5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Retailer.componentType @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Shipper.componentType new file mode 100644 index 0000000000..532293b03f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Shipper.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Warehouse.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/ds/Warehouse.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-ds-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-ds-test.composite new file mode 100644 index 0000000000..c144a1bc18 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-ds-test.composite @@ -0,0 +1,90 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + + + + RoyalMail + + + ParcelForce + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-test.composite new file mode 100644 index 0000000000..64f3b30f88 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/services/services-test.composite @@ -0,0 +1,89 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + + + + RoyalMail + + + ParcelForce + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/stockquote/StockQuote.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/stockquote/StockQuote.componentType new file mode 100644 index 0000000000..0b0aa0912b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/stockquote/StockQuote.componentType @@ -0,0 +1,28 @@ + + + + + + + + GBP + 1.0 + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer1.componentType new file mode 100644 index 0000000000..7bcdc6a2bb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer1.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer2.componentType new file mode 100644 index 0000000000..7bcdc6a2bb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Customer2.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer1.componentType new file mode 100644 index 0000000000..eadb539ea5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer1.componentType @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer2.componentType new file mode 100644 index 0000000000..eadb539ea5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Retailer2.componentType @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper1.componentType new file mode 100644 index 0000000000..532293b03f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper1.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper2.componentType new file mode 100644 index 0000000000..532293b03f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Shipper2.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse1.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse1.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse2.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/Warehouse2.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer1.componentType new file mode 100644 index 0000000000..7bcdc6a2bb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer1.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer2.componentType new file mode 100644 index 0000000000..7bcdc6a2bb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Customer2.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer1.componentType new file mode 100644 index 0000000000..eadb539ea5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer1.componentType @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer2.componentType new file mode 100644 index 0000000000..eadb539ea5 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Retailer2.componentType @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper1.componentType new file mode 100644 index 0000000000..532293b03f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper1.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper2.componentType new file mode 100644 index 0000000000..532293b03f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Shipper2.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse1.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse1.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse1.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse2.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse2.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/ds/Warehouse2.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-ds-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-ds-test.composite new file mode 100644 index 0000000000..877d0de1c9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-ds-test.composite @@ -0,0 +1,184 @@ + + + + + + + + + CustomerComponent1 + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + + + + CustomerComponent2 + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + WarehouseComponent1/Warehouse + + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + WarehouseComponent2/Warehouse + + + + + + + + + + + + + + + + + + + + + + + + RoyalMail + ShipperComponent1.ShipperService1 + + + ParcelForce + ShipperComponent1.ShipperService2 + + + CustomerComponent1 + + + + + + + + + + + RoyalMail + ShipperComponent2.ShipperService1 + + + ParcelForce + ShipperComponent2.ShipperService2 + + + CustomerComponent2 + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-test.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-test.composite new file mode 100644 index 0000000000..bbb397ee70 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/version/version-test.composite @@ -0,0 +1,170 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + WarehouseComponent2/Warehouse + + + + + + + + + + + + + + + + + + + + + + + + RoyalMail + + + ParcelForce + + + CustomerComponent1 + + + + + + + + + + + RoyalMail + + + ParcelForce + + + CustomerComponent2 + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Customer.componentType new file mode 100644 index 0000000000..1fd551be3b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Customer.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Retailer.componentType new file mode 100644 index 0000000000..5599c44bc3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Retailer.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Shipper.componentType new file mode 100644 index 0000000000..8743f8c145 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Shipper.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Warehouse.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/Warehouse.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Customer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Customer.componentType new file mode 100644 index 0000000000..1fd551be3b --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Customer.componentType @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Retailer.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Retailer.componentType new file mode 100644 index 0000000000..5599c44bc3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Retailer.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Shipper.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Shipper.componentType new file mode 100644 index 0000000000..8743f8c145 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Shipper.componentType @@ -0,0 +1,29 @@ + + + + + + + + + + default + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Warehouse.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Warehouse.componentType new file mode 100644 index 0000000000..d349edf265 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/ds/Warehouse.componentType @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test1.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test1.composite new file mode 100644 index 0000000000..617200d8dd --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test1.composite @@ -0,0 +1,136 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + amazon.com + + + WarehouseComponent1 + + + + + + amazon.com + + + + + + play.com + + + WarehouseComponent1 + + + + + play.com + + + + + + + ebay.com + + + WarehouseComponent2 + + + + + play.com + + + + + + + + + + + + + + + + + + + + ShipperComponent1 + RoyalMail + + + + RoyalMail + + + + + + + ShipperComponent2 + ParcelForce + + + + ParcelForce + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test2.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test2.composite new file mode 100644 index 0000000000..213cde2c1d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test2.composite @@ -0,0 +1,151 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + amazon.com + + + WarehouseComponent1 + + + + + + amazon.com + + + + + + + play.com + + + + WarehouseComponent1 + + + + play.com + + + + + + + ebay.com + + + WarehouseComponent1 + + + + ebay.com + + + + + + + + ParcelForce + + + + + + + + + + + + + RoyalMail + + + + + + + + + + + + RoyalMail + + + + + RoyalMail + + + + + + + ParcelForce + + + + + ParcelForce + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test1.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test1.composite new file mode 100644 index 0000000000..0dca0da75e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test1.composite @@ -0,0 +1,127 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + amazon.com + + + + + amazon.com + + + + + + + play.com + + + + play.com + + + + + + + ebay.com + + + + ebay.com + + + + + + + + + + + + + + + + + + + + + RoyalMail + + + + + RoyalMail + + + + + + + ParcelForce + + + + + ParcelForce + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test2.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test2.composite new file mode 100644 index 0000000000..953045fefa --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/wiring/wiring-test2.composite @@ -0,0 +1,151 @@ + + + + + + + + + amazon.com + + + play.com + + + ebay.com + + + + + + + + + + + + + + amazon.com + + + WarehouseComponent1 + + + + + + amazon.com + + + + + + + play.com + + + + WarehouseComponent1 + + + + play.com + + + + + + + ebay.com + + + WarehouseComponent1 + + + + ebay.com + + + + + + + + ParcelForce + + + + + + + + + + + + + RoyalMail + + + + + + + + + + + + RoyalMail + + + + + RoyalMail + + + + + + + ParcelForce + + + + + ParcelForce + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/HelloWorld.componentType b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/HelloWorld.componentType new file mode 100644 index 0000000000..c621d9aca0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/HelloWorld.componentType @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/helloworld.wsdl b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/helloworld.wsdl new file mode 100644 index 0000000000..359995a996 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/helloworld.wsdl @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/ws-helloworld.composite b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/ws-helloworld.composite new file mode 100644 index 0000000000..d545c844d2 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/main/resources/ws/ws-helloworld.composite @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java new file mode 100644 index 0000000000..c0a41da74c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java @@ -0,0 +1,30 @@ +/* + * 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 callback; + + +public class Callback1TestCase extends CallbackTestCase { + + public Callback1TestCase() { + super("callback/callback-test1.composite"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java new file mode 100644 index 0000000000..f2c61c8b60 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java @@ -0,0 +1,29 @@ +/* + * 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 callback; + + +public abstract class Callback2TestCase extends CallbackTestCase { + + public Callback2TestCase() { + super("callback/callback-test2.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java new file mode 100644 index 0000000000..892fe56f5d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java @@ -0,0 +1,29 @@ +/* + * 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 callback; + + +public class Callback3TestCase extends CallbackTestCase { + + public Callback3TestCase() { + super("callback/callback-test3.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java new file mode 100644 index 0000000000..a2f7fcbc1e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java @@ -0,0 +1,63 @@ +/* + * 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 callback; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import callback.client.CallbackClient; + +import util.OSGiTestUtil; + +public abstract class CallbackTestCase extends TestCase { + + private SCADomain scaDomain; + private CallbackClient aCallbackClient; + + protected String compositeName; + + + public CallbackTestCase(String compositeName) { + super(); + this.compositeName = compositeName; + } + + + + protected void setUp() throws Exception { + OSGiTestUtil.setUpOSGiTestRuntime(); + + scaDomain = SCADomain.newInstance(compositeName); + aCallbackClient = scaDomain.getService(CallbackClient.class, "CallbackClient"); + } + + + protected void tearDown() throws Exception { + scaDomain.close(); + + OSGiTestUtil.shutdownOSGiRuntime(); + } + + public void test() throws Exception { + aCallbackClient.run(); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java new file mode 100644 index 0000000000..1f5bfccf60 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java @@ -0,0 +1,332 @@ +/* + * 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 conversation; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import conversation.client.ConversationalClient; + +import util.OSGiTestUtil; + +public abstract class ConversationTestCase { + + private SCADomain domain; + private ConversationalClient conversationalStatelessClientStatelessService; + private ConversationalClient conversationalStatelessClientStatefulService; + private ConversationalClient conversationalStatefulClientStatelessService; + private ConversationalClient conversationalStatefulClientStatefulService; + + @Before + public void setUp() throws Exception { + + try { + + OSGiTestUtil.setUpOSGiTestRuntime(); + + domain = SCADomain.newInstance("conversation/conversation-test.composite"); + + conversationalStatelessClientStatelessService = domain.getService(ConversationalClient.class, + "ConversationalStatelessClientStatelessService/ConversationalClient"); + + conversationalStatelessClientStatefulService = domain.getService(ConversationalClient.class, + "ConversationalStatelessClientStatefulService/ConversationalClient"); + + conversationalStatefulClientStatelessService = domain.getService(ConversationalClient.class, + "ConversationalStatefulClientStatelessService/ConversationalClient"); + + conversationalStatefulClientStatefulService = domain.getService(ConversationalClient.class, + "ConversationalStatefulClientStatefulService/ConversationalClient"); + + + + } catch (Exception e) { + e.printStackTrace(); + + throw e; + } + + } + + @After + public void tearDown() throws Exception { + domain.close(); + + + OSGiTestUtil.shutdownOSGiRuntime(); + } + + // stateless client stateful service tests + // ======================================= + @Test + public void testStatelessStatefulConversationFromInjectedReference() { + int count = conversationalStatelessClientStatefulService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationFromServiceReference() { + int count = conversationalStatelessClientStatefulService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientStatefulService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientStatefulService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatelessStatefulConversationCheckingScope() { + conversationalStatelessClientStatefulService.runConversationCheckingScope(); + + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,init,", + conversationalStatelessClientStatefulService.getServiceCalls()); + } + + @Test + public void testStatelessStatefulConversationWithCallback() { + int count = conversationalStatelessClientStatefulService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,init,", + conversationalStatelessClientStatefulService.getCalls()); + } + + /////@Test + public void testStatelessStatefulConversationHavingPassedReference() { + int count = conversationalStatelessClientStatefulService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatelessStatefulConversationBusinessException() { + String message = conversationalStatelessClientStatefulService.runConversationBusinessException(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessStatefulConversationBusinessExceptionCallback() { + String message = conversationalStatelessClientStatefulService.runConversationBusinessExceptionCallback(); + Assert.assertEquals("Business Exception", message); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversation() { + int count = conversationalStatelessClientStatefulService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatelessStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientStatefulService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + // stateless client stateless service tests + // ======================================== + @Test + public void testStatelessStatelessConversationFromInjectedReference() { + int count = conversationalStatelessClientStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationFromServiceReference() { + int count = conversationalStatelessClientStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatelessStatelessConversationWithUserDefinedConversationId() { + int count = conversationalStatelessClientStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + @Test + public void testStatelessStatelessConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatelessClientStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatelessStatelessConversationCheckingScope() { + conversationalStatelessClientStatelessService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,init,", + conversationalStatelessClientStatelessService.getServiceCalls()); + } + + @Test + public void testStatelessStatelessConversationWithCallback() { + int count = conversationalStatelessClientStatelessService.runConversationWithCallback(); + Assert.assertEquals(0, count); + + Assert.assertEquals("init,runConversationWithCallback,init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,destroy,init,", + conversationalStatelessClientStatelessService.getCalls()); + } + /////@Test + public void testStatelessStatelessConversationHavingPassedReference() { + int count = conversationalStatelessClientStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversation() { + int count = conversationalStatelessClientStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatelessStatelessConversationCallingEndedConversationCallback() { + int count = conversationalStatelessClientStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + // stateful client stateful service tests + // ====================================== + @Test + public void testStatefulStatefulConversationFromInjectedReference() { + int count = conversationalStatefulClientStatefulService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationFromServiceReference() { + int count = conversationalStatefulClientStatefulService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientStatefulService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatefulConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientStatefulService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulStatefulConversationCheckingScope() { + conversationalStatefulClientStatefulService.runConversationCheckingScope(); + Assert.assertEquals("init,initializeCount,incrementCount,retrieveCount,endConversation,destroy,init,", + conversationalStatefulClientStatefulService.getServiceCalls()); + } + + @Test + public void testStatefulStatefulConversationWithCallback() { + int count = conversationalStatefulClientStatefulService.runConversationWithCallback(); + Assert.assertEquals(4, count); + + Assert.assertEquals("init,runConversationWithCallback,initializeCount,incrementCount,retrieveCount,endConversation,destroy,init,", + conversationalStatefulClientStatefulService.getCalls()); + } + + /////@Test + public void testStatefulStatefulConversationHavingPassedReference() { + int count = conversationalStatefulClientStatefulService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversation() { + int count = conversationalStatefulClientStatefulService.runConversationCallingEndedConversation(); + Assert.assertEquals(0, count); + } + + @Test + public void testStatefulStatefulConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientStatefulService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + + // stateful client stateless service tests + // ======================================= + @Test + public void testStatefulStatelessConversationFromInjectedReference() { + int count = conversationalStatefulClientStatelessService.runConversationFromInjectedReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationFromServiceReference() { + int count = conversationalStatefulClientStatelessService.runConversationFromServiceReference(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationWithUserDefinedConversationId() { + int count = conversationalStatefulClientStatelessService.runConversationWithUserDefinedConversationId(); + Assert.assertEquals(2, count); + } + + @Test + public void testStatefulStatelessConversationCheckUserDefinedConversationId() { + String conversationId = conversationalStatefulClientStatelessService.runConversationCheckUserDefinedConversationId(); + Assert.assertEquals("MyConversation2", conversationId); + } + + @Test + public void testStatefulStatelessConversationCheckingScope() { + conversationalStatefulClientStatelessService.runConversationCheckingScope(); + + Assert.assertEquals("init,initializeCount,destroy,init,incrementCount,destroy,init,retrieveCount,destroy,init,endConversation,destroy,init,", + conversationalStatefulClientStatelessService.getServiceCalls()); + } + + @Test + public void testStatefulStatelessConversationWithCallback() { + int count = conversationalStatefulClientStatelessService.runConversationWithCallback(); + Assert.assertEquals(4, count); + + Assert.assertEquals("init,runConversationWithCallback,initializeCount,incrementCount,retrieveCount,endConversation,destroy,init,", + conversationalStatefulClientStatelessService.getCalls()); + } + + /////@Test + public void testStatefulStatelessConversationHavingPassedReference() { + int count = conversationalStatefulClientStatelessService.runConversationHavingPassedReference(); + Assert.assertEquals(3, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversation() { + int count = conversationalStatefulClientStatelessService.runConversationCallingEndedConversation(); + Assert.assertEquals(-999, count); + } + + @Test + public void testStatefulStatelessConversationCallingEndedConversationCallback() { + int count = conversationalStatefulClientStatelessService.runConversationCallingEndedConversationCallback(); + Assert.assertEquals(0, count); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java new file mode 100644 index 0000000000..f3d422b3fb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java @@ -0,0 +1,136 @@ +/* + * 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 helloworld.passbyref; + +import helloworld.Greetings; +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import util.OSGiTestUtil; + + +public abstract class PassByRefTestCase extends TestCase { + + private SCADomain scaDomain; + private Greetings greetingsJava; + private Greetings greetingsOSGi; + private String[] origNames = {"world"}; + private String[] names; + + protected void setUp() throws Exception { + OSGiTestUtil.setUpOSGiTestRuntime(); + + scaDomain = SCADomain.newInstance("passbyref/passbyref-test.composite"); + greetingsJava = scaDomain.getService(Greetings.class, "JavaGreetingsComponent"); + greetingsOSGi = scaDomain.getService(Greetings.class, "OSGiGreetingsComponent"); + + names = new String[origNames.length]; + System.arraycopy(origNames, 0, names, 0, names.length); + } + + protected void tearDown() throws Exception { + scaDomain.close(); + OSGiTestUtil.shutdownOSGiRuntime(); + } + + public void test() throws Exception { + + javaOSGiPassByValue(); + osgiJavaPassByValue(); + javaOSGiPassByRef(); + osgiJavaPassByRef(); + + } + + + public void javaOSGiPassByValue() throws Exception { + + String[] greetings = greetingsJava.getGreetingsFromJava(names); + for (int i = 0; i < origNames.length; i++) { + assertEquals(origNames[i], names[i]); + } + for (int i = 0; i < origNames.length; i++) { + + System.out.println(greetings[i]); + + assertEquals(greetings[i], + "Hello " + origNames[i] + "(From Java)(From OSGi)"); + } + + } + + public void osgiJavaPassByValue() throws Exception { + String[] names = { + "world" + }; + String[] greetings = greetingsOSGi.getGreetingsFromOSGi(names); + + for (int i = 0; i < origNames.length; i++) { + assertEquals(origNames[i], names[i]); + } + for (int i = 0; i < origNames.length; i++) { + + System.out.println(greetings[i]); + + assertEquals(greetings[i], + "Hello " + origNames[i] + "(From OSGi)(From Java)"); + } + + + + } + + public void javaOSGiPassByRef() throws Exception { + String[] names = { + "world" + }; + String[] greetings = greetingsJava.getModifiedGreetingsFromJava(names); + for (int i = 0; i < origNames.length; i++) { + assertEquals("Hello " + origNames[i] + "(From Java)(From OSGi)", names[i]); + } + for (int i = 0; i < origNames.length; i++) { + + System.out.println(greetings[i]); + + assertEquals(greetings[i], + "Hello " + origNames[i] + "(From Java)(From OSGi)"); + } + } + + public void osgiJavaPassByRef() throws Exception { + String[] names = { + "world" + }; + String[] greetings = greetingsOSGi.getModifiedGreetingsFromOSGi(names); + for (int i = 0; i < origNames.length; i++) { + assertEquals("Hello " + origNames[i] + "(From OSGi)(From Java)", names[i]); + } + for (int i = 0; i < origNames.length; i++) { + + System.out.println(greetings[i]); + + assertEquals(greetings[i], + "Hello " + origNames[i] + "(From OSGi)(From Java)"); + } + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java new file mode 100644 index 0000000000..a581081092 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java @@ -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 helloworld.ws; + +import helloworld.HelloWorld; +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import util.OSGiTestUtil; + + +public class HelloWorldTestCase extends TestCase { + + private SCADomain scaDomain; + private HelloWorld helloWorld; + + protected void setUp() throws Exception { + OSGiTestUtil.setUpOSGiTestRuntime(); + + scaDomain = SCADomain.newInstance("ws/ws-helloworld.composite"); + helloWorld = scaDomain.getService(HelloWorld.class, "HelloWorldComponent"); + } + + protected void tearDown() throws Exception { + scaDomain.close(); + OSGiTestUtil.shutdownOSGiRuntime(); + } + + + public void testHelloWorld() throws Exception { + String greetings = helloWorld.getGreetings("petra"); + System.out.println(greetings); + assertEquals("Hello petra", greetings); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java new file mode 100644 index 0000000000..078beefa86 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java @@ -0,0 +1,79 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + + +import supplychain.customer.Customer; +import util.OSGiTestUtil; + +/** + * Test case for supplychain - it is invoked with different composite files to test + * various scenarios. + */ +public abstract class SupplyChainTestCase extends TestCase { + + private String compositeName; + private SCADomain scaDomain; + public Customer customer; + + public SupplyChainTestCase(String compositeName) { + super(); + this.compositeName = compositeName; + } + + protected void setUp() throws Exception { + + OSGiTestUtil.setUpOSGiTestRuntime(); + + scaDomain = SCADomain.newInstance(compositeName); + customer = scaDomain.getService(Customer.class, "CustomerComponent"); + } + + protected void tearDown() throws Exception { + scaDomain.close(); + + OSGiTestUtil.shutdownOSGiRuntime(); + } + + + public void test() throws Exception { + + System.out.println("Main thread " + Thread.currentThread()); + customer.purchaseBooks(); + customer.purchaseGames(); + long timeout = 5000L; + while (timeout > 0) { + if (customer.hasOutstandingOrders()) { + Thread.sleep(100); + timeout -= 100; + } else + break; + } + assertFalse(customer.hasOutstandingOrders()); + + System.out.println("Test complete"); + + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java new file mode 100644 index 0000000000..0a3256d8af --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java @@ -0,0 +1,82 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import supplychain.customer.Customer; +import util.OSGiTestUtil; + +/** + * OSGi test program - common code for versioned bundles + */ +public abstract class VersionedSupplyChainTestCase extends TestCase { + + private String compositeName; + private SCADomain scaDomain; + private Customer customer1; + private Customer customer2; + + + public VersionedSupplyChainTestCase(String compositeName) { + super(); + this.compositeName = compositeName; + } + + protected void setUp() throws Exception { + + OSGiTestUtil.setUpOSGiTestRuntime(); + + scaDomain = SCADomain.newInstance(compositeName); + customer1 = scaDomain.getService(Customer.class, "CustomerComponent1"); + customer2 = scaDomain.getService(Customer.class, "CustomerComponent2"); + } + + protected void tearDown() throws Exception { + scaDomain.close(); + + OSGiTestUtil.shutdownOSGiRuntime(); + Thread.sleep(1000); + } + + public void test() throws Exception { + + System.out.println("Main thread " + Thread.currentThread()); + customer1.purchaseBooks(); + customer2.purchaseGames(); + long timeout = 5000L; + while (timeout > 0) { + if (customer1.hasOutstandingOrders()) { + Thread.sleep(100); + timeout -= 100; + } else if (customer2.hasOutstandingOrders()) { + Thread.sleep(100); + timeout -= 100; + } else + break; + } + assertFalse(customer1.hasOutstandingOrders()); + assertFalse(customer2.hasOutstandingOrders()); + + System.out.println("Test complete"); + + } +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java new file mode 100644 index 0000000000..a07dbaebc3 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java @@ -0,0 +1,32 @@ +/* + * 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.factory; + + +/** + * OSGi test program - declarative with scopes other than composites which use OSGi service factories + */ +public class DSFactoryTestCase extends FactoryTestCase { + + public DSFactoryTestCase() { + super("factory/factory-ds-test.composite"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java new file mode 100644 index 0000000000..1568a0df1f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java @@ -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.factory; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - declarative with scopes other than composites which use OSGi service factories + */ +public class FactoryTestCase extends SupplyChainTestCase { + + public FactoryTestCase() { + super("factory/factory-test.composite"); + } + + protected FactoryTestCase(String compositeName) { + super(compositeName); + } + + + @Override + public void test() throws Exception { + + System.out.println("Main thread " + Thread.currentThread()); + customer.purchaseBooks(); + assertFalse(customer.hasOutstandingOrders()); + + customer.purchaseGames(); + assertFalse(customer.hasOutstandingOrders()); + + Thread.sleep(1000); + System.out.println("Test complete"); + + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java new file mode 100644 index 0000000000..a482ccc711 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java @@ -0,0 +1,32 @@ +/* + * 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.interfaces; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - declarative with components exposing multiple services with multiple interfaces + */ +public abstract class DSInterfacesTestCase extends SupplyChainTestCase { + + public DSInterfacesTestCase() { + super("interfaces/interfaces-ds-test.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java new file mode 100644 index 0000000000..13c11f026d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java @@ -0,0 +1,32 @@ +/* + * 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.interfaces; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - procedural with components exposing multiple services with multiple interfaces + */ +public abstract class InterfacesTestCase extends SupplyChainTestCase { + + public InterfacesTestCase() { + super("interfaces/interfaces-test.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java new file mode 100644 index 0000000000..63b6b82a56 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java @@ -0,0 +1,31 @@ +/* + * 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.properties; + + +/** + * OSGi test program - declarative with business properties + */ +public class DSProperties2TestCase extends Properties2TestCase { + + public DSProperties2TestCase() { + super("properties/properties2-ds-test.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java new file mode 100644 index 0000000000..626d090493 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java @@ -0,0 +1,31 @@ +/* + * 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.properties; + + +/** + * OSGi test program - declarative with business properties + */ +public class DSPropertiesTestCase extends PropertiesTestCase { + + public DSPropertiesTestCase() { + super("properties/properties-ds-test.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java new file mode 100644 index 0000000000..871affa8f6 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java @@ -0,0 +1,83 @@ +/* + * 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.properties; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import stockquote.StockQuote; +import util.OSGiTestUtil; + +/** + * OSGi test program - procedural with business properties + */ +public class Properties2TestCase extends TestCase { + + + private SCADomain scaDomain; + private StockQuote stockQuoteServiceUSD; + private StockQuote stockQuoteServiceEURO; + private String compositeName; + + public Properties2TestCase() { + super(); + compositeName = "properties/properties2-test.composite"; + } + + protected Properties2TestCase(String compositeName) { + super(); + this.compositeName = compositeName; + } + + protected void setUp() throws Exception { + + OSGiTestUtil.setUpOSGiTestRuntime(); + + scaDomain = SCADomain.newInstance(compositeName); + stockQuoteServiceUSD = scaDomain.getService(StockQuote.class, "USDStockQuoteComponent"); + stockQuoteServiceEURO = scaDomain.getService(StockQuote.class, "EUROStockQuoteComponent"); + } + + protected void tearDown() throws Exception { + scaDomain.close(); + OSGiTestUtil.shutdownOSGiRuntime(); + } + + public void test() throws Exception { + + double stockQuote = stockQuoteServiceUSD.getQuote("IBM"); + + double expectedValue = 52.81 * 2.0; + + System.out.println("IBM: $" + stockQuote); + + assertTrue(stockQuote > expectedValue - 0.1 && stockQuote < expectedValue + 0.1); + + double stockQuote2 = stockQuoteServiceEURO.getQuote("IBM"); + + double expectedValue2 = 52.81 * 1.48; + + System.out.println("IBM: Euro " + stockQuote2); + + assertTrue(stockQuote2 > expectedValue2 - 0.1 && stockQuote2 < expectedValue2 + 0.1); + + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java new file mode 100644 index 0000000000..85dcb79f83 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java @@ -0,0 +1,73 @@ +/* + * 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.properties; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +import stockquote.StockQuote; +import util.OSGiTestUtil; + +/** + * OSGi test program - procedural with business properties + */ +public class PropertiesTestCase extends TestCase { + + + private SCADomain scaDomain; + private StockQuote stockQuoteService; + private String compositeName; + + public PropertiesTestCase() { + super(); + compositeName = "properties/properties-test.composite"; + } + + protected PropertiesTestCase(String compositeName) { + super(); + this.compositeName = compositeName; + } + + protected void setUp() throws Exception { + + OSGiTestUtil.setUpOSGiTestRuntime(); + + scaDomain = SCADomain.newInstance(compositeName); + stockQuoteService = scaDomain.getService(StockQuote.class, "StockQuoteComponent"); + } + + protected void tearDown() throws Exception { + scaDomain.close(); + OSGiTestUtil.shutdownOSGiRuntime(); + } + + public void test() throws Exception { + + double stockQuote = stockQuoteService.getQuote("IBM"); + + double expectedValue = 52.81 * 2.0; + + System.out.println("IBM: " + stockQuote); + + assertTrue(stockQuote > expectedValue - 0.1 && stockQuote < expectedValue + 0.1); + + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java new file mode 100644 index 0000000000..2677bf9811 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java @@ -0,0 +1,32 @@ +/* + * 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.services; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - declarative with components exposing multiple services + */ +public class DSServicesTestCase extends SupplyChainTestCase { + + public DSServicesTestCase() { + super("services/services-ds-test.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java new file mode 100644 index 0000000000..758e1f6a13 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java @@ -0,0 +1,32 @@ +/* + * 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.services; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - procedural with components exposing multiple services + */ +public class ServicesTestCase extends SupplyChainTestCase { + + public ServicesTestCase() { + super("services/services-test.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java new file mode 100644 index 0000000000..081b5618fe --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java @@ -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.version; + +import supplychain.VersionedSupplyChainTestCase; + +/** + * OSGi test program - declarative with versioning + */ +public class DSVersionTestCase extends VersionedSupplyChainTestCase { + + public DSVersionTestCase() { + super("version/version-ds-test.composite"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java new file mode 100644 index 0000000000..1b3d1fc673 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java @@ -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.version; + +import supplychain.VersionedSupplyChainTestCase; + +/** + * OSGi test program - procedural with versioning + */ +public class VersionTestCase extends VersionedSupplyChainTestCase { + + public VersionTestCase() { + super("version/version-test.composite"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java new file mode 100644 index 0000000000..5ba42684f0 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java @@ -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.wiring; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - declarative with SCA wiring + */ +public class DSWiring1TestCase extends SupplyChainTestCase { + + public DSWiring1TestCase() { + super("wiring/wiring-ds-test1.composite"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java new file mode 100644 index 0000000000..bdb04ca87f --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java @@ -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.wiring; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - declarative with SCA wiring + */ +public class DSWiring2TestCase extends SupplyChainTestCase { + + public DSWiring2TestCase() { + super("wiring/wiring-ds-test2.composite"); + } + + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java new file mode 100644 index 0000000000..c8df17b767 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java @@ -0,0 +1,32 @@ +/* + * 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.wiring; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - procedural with SCA wiring + */ +public class Wiring1TestCase extends SupplyChainTestCase { + + public Wiring1TestCase() { + super("wiring/wiring-test1.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java new file mode 100644 index 0000000000..d5a3927b7d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java @@ -0,0 +1,32 @@ +/* + * 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.wiring; + +import supplychain.SupplyChainTestCase; + +/** + * OSGi test program - procedural with SCA wiring + */ +public class Wiring2TestCase extends SupplyChainTestCase { + + public Wiring2TestCase() { + super("wiring/wiring-test2.composite"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/util/OSGiTestUtil.java b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/util/OSGiTestUtil.java new file mode 100644 index 0000000000..7b95c12038 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/java/util/OSGiTestUtil.java @@ -0,0 +1,71 @@ +/* + * 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 util; + +import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime; + + +/** + * OSGi Test Utils + */ +public class OSGiTestUtil { + + public static void setUpOSGiTestRuntime() throws Exception { + + setUpFelixTestRuntime(); + } + + + private static void setUpFelixTestRuntime() throws Exception { + + String felixConfigFileName = "file:target/test-classes/osgi/felix/felix.config.properties"; + + System.setProperty("felix.config.properties", felixConfigFileName); + + try { + + ClassLoader cl = OSGiTestUtil.class.getClassLoader(); + + Class felixMainClass = cl.loadClass("org.apache.felix.main.Main"); + if (felixMainClass != null) { + String felixDir = felixMainClass.getProtectionDomain().getCodeSource().getLocation().getPath(); + int index = 0; + if ((index = felixDir.indexOf("/org.apache.felix.main")) >= 0) { + felixDir = felixDir.substring(0, index); + System.setProperty("FELIX_DIR", felixDir); + } + } + + } catch (Exception e) { + // Ignore + } + + + } + + public static void shutdownOSGiRuntime() { + try { + OSGiRuntime.stop(); + + } catch (Exception e) { + // Ignore + } + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties new file mode 100644 index 0000000000..72fd6fd843 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.0/itest/osgi-implementation/src/test/resources/osgi/felix/felix.config.properties @@ -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. +# +# +# Framework config properties. +# +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 + + +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" + + +felix.startlevel.framework=1 +felix.startlevel.bundle=1 + +# +# Bundle config properties. +# +org.osgi.service.http.port=8080 +obr.shell.telnet=on -- cgit v1.2.3