summaryrefslogtreecommitdiffstats
path: root/branches/sca-android/modules
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-15 06:18:34 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-15 06:18:34 +0000
commit512771c8a42d2cde253f6df55ef552f7a0b4f792 (patch)
tree37c4f983c960be2136045ec8182442d19fd82828 /branches/sca-android/modules
parentdc79a3d21e67c8560e2c35451f2b2c58b675f02a (diff)
Starting to create reduced module set for the android port.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@695352 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-android/modules/api/LICENSE205
-rw-r--r--branches/sca-android/modules/api/META-INF/README1
-rw-r--r--branches/sca-android/modules/api/NOTICE6
-rw-r--r--branches/sca-android/modules/api/pom.xml304
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/LICENSE205
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/META-INF/README1
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/NOTICE6
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/pom.xml56
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java37
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java34
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java28
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java36
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java32
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java29
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java70
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java74
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java40
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java77
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java62
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java62
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java24
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java24
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java24
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java24
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java59
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java33
-rw-r--r--branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java24
-rw-r--r--branches/sca-android/modules/binding-dwr/LICENSE205
-rw-r--r--branches/sca-android/modules/binding-dwr/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-dwr/NOTICE6
-rw-r--r--branches/sca-android/modules/binding-dwr/pom.xml95
-rw-r--r--branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java31
-rw-r--r--branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java56
-rw-r--r--branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java93
-rw-r--r--branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java67
-rw-r--r--branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java81
-rw-r--r--branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java247
-rw-r--r--branches/sca-android/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator19
-rw-r--r--branches/sca-android/modules/binding-feed/LICENSE205
-rw-r--r--branches/sca-android/modules/binding-feed/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-feed/NOTICE6
-rw-r--r--branches/sca-android/modules/binding-feed/pom.xml165
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java30
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java35
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java30
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java35
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java72
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java55
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java45
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java36
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java96
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java36
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java101
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java345
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java74
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java117
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java116
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java87
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java788
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java91
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java74
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java65
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java85
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory19
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory19
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor20
-rw-r--r--branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory20
-rw-r--r--branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java35
-rw-r--r--branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java25
-rw-r--r--branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java97
-rw-r--r--branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java136
-rw-r--r--branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java41
-rw-r--r--branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite32
-rw-r--r--branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite33
-rw-r--r--branches/sca-android/modules/binding-notification/LICENSE205
-rw-r--r--branches/sca-android/modules/binding-notification/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-notification/NOTICE6
-rw-r--r--branches/sca-android/modules/binding-notification/pom.xml150
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java31
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java37
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java27
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java75
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java68
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java97
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java342
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java40
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java126
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java338
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java317
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java43
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java669
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java86
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java50
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java25
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java46
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java41
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java90
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java41
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java89
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java35
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java83
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java25
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java77
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java74
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java78
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java62
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java49
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java57
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java83
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java61
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java61
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java45
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java90
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java99
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java54
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java85
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java35
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java74
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java61
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java45
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java89
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java25
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java25
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java77
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java46
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java62
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java115
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java61
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java61
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java54
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java87
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java99
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java26
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java44
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java99
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java35
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java83
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java176
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java89
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java41
-rw-r--r--branches/sca-android/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator18
-rw-r--r--branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java56
-rw-r--r--branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java470
-rw-r--r--branches/sca-android/modules/binding-sca-jms/LICENSE205
-rw-r--r--branches/sca-android/modules/binding-sca-jms/META-INF/README1
-rw-r--r--branches/sca-android/modules/binding-sca-jms/NOTICE6
-rw-r--r--branches/sca-android/modules/binding-sca-jms/pom.xml109
-rw-r--r--branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java70
-rw-r--r--branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java91
-rw-r--r--branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator18
-rw-r--r--branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory19
-rw-r--r--branches/sca-android/modules/contribution-groovy/LICENSE205
-rw-r--r--branches/sca-android/modules/contribution-groovy/META-INF/README1
-rw-r--r--branches/sca-android/modules/contribution-groovy/NOTICE8
-rw-r--r--branches/sca-android/modules/contribution-groovy/pom.xml84
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java41
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java57
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java69
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor20
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver18
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java31
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java55
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy27
-rw-r--r--branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite29
-rw-r--r--branches/sca-android/modules/contribution-jee/LICENSE205
-rw-r--r--branches/sca-android/modules/contribution-jee/META-INF/README1
-rw-r--r--branches/sca-android/modules/contribution-jee/NOTICE6
-rw-r--r--branches/sca-android/modules/contribution-jee/pom.xml119
-rw-r--r--branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java163
-rw-r--r--branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java364
-rw-r--r--branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java96
-rw-r--r--branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java63
-rw-r--r--branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java160
-rw-r--r--branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java72
-rw-r--r--branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java84
-rw-r--r--branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java69
-rw-r--r--branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.earbin19015 -> 0 bytes
-rw-r--r--branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.jarbin11042 -> 0 bytes
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/LICENSE205
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/META-INF/README1
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/NOTICE6
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/pom.xml124
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java51
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java381
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java156
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java75
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java129
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java26
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java39
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java61
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite27
-rw-r--r--branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jarbin29164 -> 0 bytes
-rw-r--r--branches/sca-android/modules/contribution-updater/LICENSE205
-rw-r--r--branches/sca-android/modules/contribution-updater/META-INF/README1
-rw-r--r--branches/sca-android/modules/contribution-updater/NOTICE6
-rw-r--r--branches/sca-android/modules/contribution-updater/pom.xml111
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java27
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java788
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java27
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java31
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java28
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java25
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java31
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java29
-rw-r--r--branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java30
-rw-r--r--branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite27
-rw-r--r--branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jarbin29164 -> 0 bytes
-rw-r--r--branches/sca-android/modules/core-spring/LICENSE205
-rw-r--r--branches/sca-android/modules/core-spring/META-INF/README1
-rw-r--r--branches/sca-android/modules/core-spring/NOTICE6
-rw-r--r--branches/sca-android/modules/core-spring/pom.xml126
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java134
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java228
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java70
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java88
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java192
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java206
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java75
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java175
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java34
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java75
-rw-r--r--branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java149
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/AddService.java30
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/AddServiceImpl.java37
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorClient.java43
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorService.java36
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java73
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/DivideService.java30
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java35
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyService.java30
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java35
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java46
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractService.java30
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java35
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java56
-rw-r--r--branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java59
-rw-r--r--branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite52
-rw-r--r--branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite42
-rw-r--r--branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite57
-rw-r--r--branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite41
-rw-r--r--branches/sca-android/modules/databinding-job/LICENSE205
-rw-r--r--branches/sca-android/modules/databinding-job/META-INF/README1
-rw-r--r--branches/sca-android/modules/databinding-job/NOTICE6
-rw-r--r--branches/sca-android/modules/databinding-job/pom.xml129
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java32
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java84
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java36
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java70
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java53
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java45
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java73
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java35
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding20
-rw-r--r--branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer18
-rw-r--r--branches/sca-android/modules/databinding-job/src/test/resources/ipo.xml51
-rw-r--r--branches/sca-android/modules/databinding-job/src/test/resources/ipo.xsd155
-rw-r--r--branches/sca-android/modules/databinding-job/src/test/resources/order.wsdl76
-rw-r--r--branches/sca-android/modules/databinding-xstream/LICENSE205
-rw-r--r--branches/sca-android/modules/databinding-xstream/META-INF/README1
-rw-r--r--branches/sca-android/modules/databinding-xstream/NOTICE6
-rw-r--r--branches/sca-android/modules/databinding-xstream/pom.xml121
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java37
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java95
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java69
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java76
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java79
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java28
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java69
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java106
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java38
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding20
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer18
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xml48
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xsd132
-rw-r--r--branches/sca-android/modules/databinding-xstream/src/test/resources/order.wsdl76
-rw-r--r--branches/sca-android/modules/extensibility-osgi/LICENSE205
-rw-r--r--branches/sca-android/modules/extensibility-osgi/META-INF/README1
-rw-r--r--branches/sca-android/modules/extensibility-osgi/NOTICE5
-rw-r--r--branches/sca-android/modules/extensibility-osgi/pom.xml67
-rw-r--r--branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java359
-rw-r--r--branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java45
-rw-r--r--branches/sca-android/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java123
-rw-r--r--branches/sca-android/modules/extensibility-osgi/src/test/resources/test-bundle.jarbin1797 -> 0 bytes
-rw-r--r--branches/sca-android/modules/host-osgi/LICENSE251
-rw-r--r--branches/sca-android/modules/host-osgi/META-INF/README1
-rw-r--r--branches/sca-android/modules/host-osgi/NOTICE17
-rw-r--r--branches/sca-android/modules/host-osgi/pom.xml76
-rw-r--r--branches/sca-android/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator18
-rw-r--r--branches/sca-android/modules/implementation-jee/LICENSE205
-rw-r--r--branches/sca-android/modules/implementation-jee/META-INF/README1
-rw-r--r--branches/sca-android/modules/implementation-jee/NOTICE6
-rw-r--r--branches/sca-android/modules/implementation-jee/pom.xml84
-rw-r--r--branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java43
-rw-r--r--branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java36
-rw-r--r--branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java38
-rw-r--r--branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java95
-rw-r--r--branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java120
-rw-r--r--branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor21
-rw-r--r--branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory21
-rw-r--r--branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java83
-rw-r--r--branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java68
-rw-r--r--branches/sca-android/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite31
-rw-r--r--branches/sca-android/modules/implementation-notification/LICENSE205
-rw-r--r--branches/sca-android/modules/implementation-notification/META-INF/README1
-rw-r--r--branches/sca-android/modules/implementation-notification/NOTICE6
-rw-r--r--branches/sca-android/modules/implementation-notification/pom.xml110
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java33
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java100
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java112
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java27
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java96
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java99
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java67
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java38
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java49
-rw-r--r--branches/sca-android/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator19
-rw-r--r--branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java136
-rw-r--r--branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java56
-rw-r--r--branches/sca-android/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType30
-rw-r--r--branches/sca-android/modules/implementation-openjpa/LICENSE205
-rw-r--r--branches/sca-android/modules/implementation-openjpa/META-INF/README1
-rw-r--r--branches/sca-android/modules/implementation-openjpa/NOTICE6
-rw-r--r--branches/sca-android/modules/implementation-openjpa/README33
-rw-r--r--branches/sca-android/modules/implementation-openjpa/pom.xml132
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java36
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java24
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java99
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java109
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java100
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java37
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java59
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java51
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java49
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java39
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java119
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java101
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java45
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java63
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor19
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory18
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory19
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java69
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Abc.java34
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Message.java72
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/test/java/sample/MyObject.java33
-rw-r--r--branches/sca-android/modules/implementation-openjpa/src/test/resources/openjpa.composite44
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/db.lckbin38 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/log/log.ctrlbin48 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/log/log1.datbin1048576 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/log/logmirror.ctrlbin48 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c10.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c101.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c111.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c121.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c130.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c141.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c150.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c161.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c171.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c180.datbin24576 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c191.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c1a1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c1b1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c1c0.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c1d1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c1e0.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c1f1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c20.datbin20480 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c200.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c211.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c221.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c230.datbin118784 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c241.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c251.datbin12288 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c260.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c271.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c281.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c290.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c2a1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c2b1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c2c1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c2d0.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c2e1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c2f0.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c300.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c31.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c311.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c320.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c331.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c41.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c51.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c60.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c71.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c81.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/c90.datbin20480 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/ca1.datbin20480 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/cb1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/cc0.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/cd1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/ce1.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/seg0/cf0.datbin8192 -> 0 bytes
-rw-r--r--branches/sca-android/modules/implementation-openjpa/test/service.properties22
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/LICENSE203
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/META-INF/README1
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/NOTICE6
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/pom.xml109
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java156
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java32
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java27
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java51
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java57
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java77
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java78
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld59
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint19
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory19
-rw-r--r--branches/sca-android/modules/implementation-web-runtime/src/main/resources/jsonrpc.js493
-rw-r--r--branches/sca-android/modules/implementation-web/LICENSE205
-rw-r--r--branches/sca-android/modules/implementation-web/META-INF/README1
-rw-r--r--branches/sca-android/modules/implementation-web/NOTICE6
-rw-r--r--branches/sca-android/modules/implementation-web/pom.xml88
-rw-r--r--branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java42
-rw-r--r--branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java34
-rw-r--r--branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java37
-rw-r--r--branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java135
-rw-r--r--branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java121
-rw-r--r--branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor19
-rw-r--r--branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory19
-rw-r--r--branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java81
-rw-r--r--branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java66
-rw-r--r--branches/sca-android/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite29
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/LICENSE205
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/META-INF/README1
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/NOTICE6
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/pom.xml151
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java48
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java110
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java174
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java348
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java457
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java55
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java100
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java165
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java186
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java44
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java127
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java30
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java30
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java30
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java95
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java69
-rw-r--r--branches/sca-android/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite30
-rw-r--r--branches/sca-android/modules/osgi-runtime/LICENSE203
-rw-r--r--branches/sca-android/modules/osgi-runtime/META-INF/README1
-rw-r--r--branches/sca-android/modules/osgi-runtime/NOTICE6
-rw-r--r--branches/sca-android/modules/osgi-runtime/pom.xml69
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java117
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java253
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java168
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java252
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java275
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java47
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator18
-rw-r--r--branches/sca-android/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java78
-rw-r--r--branches/sca-android/modules/pom.xml22
-rw-r--r--branches/sca-android/modules/runtime-standalone/LICENSE205
-rw-r--r--branches/sca-android/modules/runtime-standalone/META-INF/README1
-rw-r--r--branches/sca-android/modules/runtime-standalone/NOTICE6
-rw-r--r--branches/sca-android/modules/runtime-standalone/pom.xml77
-rw-r--r--branches/sca-android/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java78
-rw-r--r--branches/sca-android/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java54
-rw-r--r--branches/sca-android/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jarbin4723 -> 0 bytes
-rw-r--r--branches/sca-android/modules/runtime-standalone/src/test/resources/repo/tuscany.properties5
-rw-r--r--branches/sca-android/modules/runtime-tomcat/LICENSE205
-rw-r--r--branches/sca-android/modules/runtime-tomcat/META-INF/README1
-rw-r--r--branches/sca-android/modules/runtime-tomcat/NOTICE6
-rw-r--r--branches/sca-android/modules/runtime-tomcat/pom.xml104
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java49
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java136
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java108
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java270
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java69
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java159
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java65
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java51
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory19
-rw-r--r--branches/sca-android/modules/runtime-tomcat/src/test/resources/content/test.html21
-rw-r--r--branches/sca-android/modules/runtime-war/LICENSE205
-rw-r--r--branches/sca-android/modules/runtime-war/META-INF/README1
-rw-r--r--branches/sca-android/modules/runtime-war/NOTICE6
-rw-r--r--branches/sca-android/modules/runtime-war/pom.xml56
-rw-r--r--branches/sca-android/modules/runtime/LICENSE205
-rw-r--r--branches/sca-android/modules/runtime/META-INF/README1
-rw-r--r--branches/sca-android/modules/runtime/NOTICE6
-rw-r--r--branches/sca-android/modules/runtime/pom.xml381
-rw-r--r--branches/sca-android/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java424
-rw-r--r--branches/sca-android/modules/runtime2/META-INF/README1
-rw-r--r--branches/sca-android/modules/runtime2/pom.xml334
-rw-r--r--branches/sca-android/modules/scdl4j/META-INF/README1
-rw-r--r--branches/sca-android/modules/scdl4j/pom.xml315
520 files changed, 1 insertions, 37501 deletions
diff --git a/branches/sca-android/modules/api/LICENSE b/branches/sca-android/modules/api/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/api/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/api/META-INF/README b/branches/sca-android/modules/api/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/api/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/api/NOTICE b/branches/sca-android/modules/api/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/api/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/api/pom.xml b/branches/sca-android/modules/api/pom.xml
deleted file mode 100644
index fa996acf11..0000000000
--- a/branches/sca-android/modules/api/pom.xml
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-api</artifactId>
- <name>Apache Tuscany SCA API</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extensibility</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-definitions</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-definitions-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-policy-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-databinding</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xsd</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-policy-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-endpoint</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- </resources>
-
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
-
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <shadedGroupFilter>org.apache.tuscany.sca</shadedGroupFilter>
-
- <shadedArtifactAttached>false</shadedArtifactAttached>
- <createSourcesJar>${createSourcesJar}</createSourcesJar>
- <promoteTransitiveDependencies>false</promoteTransitiveDependencies>
- <createDependencyReducedPom>true</createDependencyReducedPom>
-
- <!-- artifactSet>
- <includes>
- <include>org.apache.tuscany.sca:sca-api</include>
- </includes>
- <excludes>
- <exclude>org.apache.tuscany.sca:extensibility</exclude>
- </excludes>
- </artifactSet -->
-
- <filters>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-host-embedded</artifact>
- <excludes>
- <exclude>org/apache/tuscany/sca/host/embedded/impl/**</exclude>
- </excludes>
- </filter>
- <filter>
- <artifact>${project.groupId}:${project.artifactId}</artifact>
-
- <excludes>
- <exclude>org/**</exclude>
- </excludes>
- </filter>
- </filters>
-
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.core.ModuleActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBinding</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.work.WorkScheduler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider</resource>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/assembly-java-dsl/LICENSE b/branches/sca-android/modules/assembly-java-dsl/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/assembly-java-dsl/META-INF/README b/branches/sca-android/modules/assembly-java-dsl/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/assembly-java-dsl/NOTICE b/branches/sca-android/modules/assembly-java-dsl/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/assembly-java-dsl/pom.xml b/branches/sca-android/modules/assembly-java-dsl/pom.xml
deleted file mode 100644
index 24c6db84b2..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-assembly-java-dsl</artifactId>
- <name>Apache Tuscany SCA Assembly Model Java DSL</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.assembly.java.dsl</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.assembly.java.dsl*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java
deleted file mode 100644
index 28a5ecdc24..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-
-public interface AssemblyBuilder {
-
- CompositeBuilder composite(String name);
-
- ComponentBuilder component(String name);
-
- ComponentReferenceBuilder reference(String name);
-
- ComponentServiceBuilder service(String name);
-
- ComponentPropertyBuilder property(String name);
-
- CompositeBuilder domain(String uri);
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java
deleted file mode 100644
index 3d97041907..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public interface ComponentBuilder {
-
- ComponentBuilder implementedBy(Class clazz);
-
- ComponentBuilder implementedBy(CompositeBuilder composite);
-
- ComponentBuilder uses(ComponentReferenceBuilder... componentReferences);
-
- ComponentBuilder provides(ComponentServiceBuilder... componentServices);
-
- ComponentBuilder declares(ComponentPropertyBuilder...componentProperties);
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java
deleted file mode 100644
index 7f3c89fd2f..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public interface ComponentPropertyBuilder {
-
- ComponentPropertyBuilder ofType(String type);
-
- ComponentPropertyBuilder configuredTo(Object value);
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java
deleted file mode 100644
index 8966a4be9d..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public interface ComponentReferenceBuilder {
-
- ComponentReferenceBuilder wiredTo(String target);
-
- ComponentReferenceBuilder wiredTo(ComponentServiceBuilder target);
-
- ComponentReferenceBuilder typedBy(Class interfaceClass);
-
- ComponentReferenceBuilder promotedAs(String promoted);
-
- ComponentReferenceBuilder promoted();
-
- ComponentReferenceBuilder boundTo(String uri);
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java
deleted file mode 100644
index f3e36e8c38..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public interface ComponentServiceBuilder {
-
- ComponentServiceBuilder typedBy(Class interfaceClass);
-
- ComponentServiceBuilder promotedAs(String promoted);
-
- ComponentServiceBuilder promoted();
-
- ComponentServiceBuilder boundTo(String uri);
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java
deleted file mode 100644
index e2108b5ef8..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-
-public interface CompositeBuilder {
-
- CompositeBuilder contains(ComponentBuilder... components);
-
- CompositeBuilder includes(CompositeBuilder... includes);
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java
deleted file mode 100644
index 0968310548..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl.impl;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.dsl.AssemblyBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentPropertyBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentReferenceBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder;
-import org.apache.tuscany.sca.assembly.dsl.CompositeBuilder;
-
-public class AssemblyBuilderImpl extends DefaultAssemblyFactory implements AssemblyBuilder {
-
- public ComponentBuilder component(String name) {
- ComponentBuilderImpl component = new ComponentBuilderImpl();
- component.setName(name);
- return component;
- }
-
- public CompositeBuilder composite(String name) {
- CompositeBuilderImpl composite = new CompositeBuilderImpl();
- //TODO handle namespace
- composite.setName(new QName("", name));
- return composite;
- }
-
- public CompositeBuilder domain(String uri) {
- CompositeBuilderImpl composite = new CompositeBuilderImpl();
- composite.setName(new QName(uri, ""));
- return composite;
- }
-
- public ComponentPropertyBuilder property(String name) {
- ComponentPropertyBuilderImpl property = new ComponentPropertyBuilderImpl();
- property.setName(name);
- return property;
- }
-
- public ComponentReferenceBuilder reference(String name) {
- ComponentReferenceBuilderImpl reference = new ComponentReferenceBuilderImpl(this);
- reference.setName(name);
- return reference;
- }
-
- public ComponentServiceBuilder service(String name) {
- ComponentServiceBuilderImpl service = new ComponentServiceBuilderImpl(this);
- service.setName(name);
- return service;
- }
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java
deleted file mode 100644
index 9022b9d9e6..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.dsl.ComponentBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentPropertyBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentReferenceBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder;
-import org.apache.tuscany.sca.assembly.dsl.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.impl.ComponentImpl;
-
-public class ComponentBuilderImpl extends ComponentImpl implements ComponentBuilder {
-
- public ComponentBuilderImpl() {
- }
-
- public ComponentBuilder implementedBy(Class clazz) {
- //FIXME support Java implementations
- return this;
- }
-
- public ComponentBuilder implementedBy(CompositeBuilder composite) {
- setImplementation((Composite)composite);
- return this;
- }
-
- public ComponentBuilder uses(ComponentReferenceBuilder... componentReferences) {
- List<ComponentReference> references = getReferences();
- for (ComponentReferenceBuilder componentReference: componentReferences) {
- references.add((ComponentReference)componentReference);
- }
- return this;
- }
-
- public ComponentBuilder provides(ComponentServiceBuilder... componentServices) {
- List<ComponentService> services = getServices();
- for (ComponentServiceBuilder componentService: componentServices) {
- services.add((ComponentService)componentService);
- }
- return this;
- }
-
- public ComponentBuilder declares(ComponentPropertyBuilder...componentProperties) {
- List<ComponentProperty> properties = getProperties();
- for (ComponentPropertyBuilder componentProperty: componentProperties) {
- properties.add((ComponentProperty)componentProperty);
- }
- return this;
- }
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java
deleted file mode 100644
index 49f7cd46b2..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl.impl;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.assembly.dsl.ComponentPropertyBuilder;
-import org.apache.tuscany.sca.assembly.impl.ComponentPropertyImpl;
-
-public class ComponentPropertyBuilderImpl extends ComponentPropertyImpl implements ComponentPropertyBuilder {
-
- public ComponentPropertyBuilderImpl ofType(String type) {
- //TODO handle namespace
- this.setXSDType(new QName("", type));
- return this;
- }
-
- public ComponentPropertyBuilderImpl configuredTo(Object value) {
- this.setValue(value);
- return this;
- }
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java
deleted file mode 100644
index d9aab9de22..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl.impl;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.CompositeReference;
-import org.apache.tuscany.sca.assembly.dsl.ComponentReferenceBuilder;
-import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder;
-import org.apache.tuscany.sca.assembly.impl.ComponentReferenceImpl;
-import org.apache.tuscany.sca.assembly.impl.ComponentServiceImpl;
-
-public class ComponentReferenceBuilderImpl extends ComponentReferenceImpl implements ComponentReferenceBuilder {
-
- private CompositeReference compositeReference;
- private AssemblyFactory assemblyFactory;
-
- protected ComponentReferenceBuilderImpl(AssemblyFactory assemblyFactory) {
- this.assemblyFactory = assemblyFactory;
- }
-
- public ComponentReferenceBuilder wiredTo(String target) {
- ComponentService componentService = assemblyFactory.createComponentService();
- componentService.setUnresolved(true);
- componentService.setName(target);
- getTargets().add(componentService);
- return this;
- }
-
- public ComponentReferenceBuilder wiredTo(ComponentServiceBuilder target) {
- getTargets().add((ComponentServiceImpl)target);
- return this;
- }
-
- public ComponentReferenceBuilderImpl typedBy(Class interfaceClass) {
- //FIXME support for Java interfaces
- return this;
- }
-
- public ComponentReferenceBuilderImpl promotedAs(String promoted) {
- compositeReference = assemblyFactory.createCompositeReference();
- compositeReference.setName(promoted);
- return this;
- }
-
- public ComponentReferenceBuilderImpl promoted() {
- compositeReference = assemblyFactory.createCompositeReference();
- compositeReference.setName(getName());
- return this;
- }
-
- public ComponentReferenceBuilder boundTo(String uri) {
- //TODO support bindings
- return this;
- }
-
- CompositeReference getCompositeReference() {
- return compositeReference;
- }
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java
deleted file mode 100644
index 379429d17e..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl.impl;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.CompositeService;
-import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder;
-import org.apache.tuscany.sca.assembly.impl.ComponentServiceImpl;
-
-public class ComponentServiceBuilderImpl extends ComponentServiceImpl implements ComponentServiceBuilder {
-
- private CompositeService compositeService;
- private AssemblyFactory assemblyFactory;
-
- protected ComponentServiceBuilderImpl(AssemblyFactory assemblyFactory) {
- this.assemblyFactory = assemblyFactory;
- }
-
- public ComponentServiceBuilderImpl typedBy(Class interfaceClass) {
- //FIXME support for Java interfaces
- return this;
- }
-
- public ComponentServiceBuilderImpl promotedAs(String promoted) {
- compositeService = assemblyFactory.createCompositeService();
- compositeService.setName(promoted);
- return this;
- }
-
- public ComponentServiceBuilderImpl promoted() {
- compositeService = assemblyFactory.createCompositeService();
- compositeService.setName(getName());
- return this;
- }
-
- public ComponentServiceBuilder boundTo(String uri) {
- // TODO support bindings
- return this;
- }
-
- CompositeService getCompositeService() {
- return compositeService;
- }
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java
deleted file mode 100644
index 709562cd72..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.dsl.ComponentBuilder;
-import org.apache.tuscany.sca.assembly.dsl.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.impl.CompositeImpl;
-
-public class CompositeBuilderImpl extends CompositeImpl implements CompositeBuilder {
-
- public CompositeBuilder contains(ComponentBuilder... componentBuilders) {
- List<Component> components = getComponents();
- for (ComponentBuilder componentBuilder: componentBuilders) {
- Component component = (Component)componentBuilder;
- components.add(component);
-
- for (ComponentService componentService: component.getServices()) {
- ComponentServiceBuilderImpl builder = (ComponentServiceBuilderImpl)componentService;
- if (builder.getCompositeService() != null)
- getServices().add(builder.getCompositeService());
- }
- for (ComponentReference componentReference: component.getReferences()) {
- ComponentReferenceBuilderImpl builder = (ComponentReferenceBuilderImpl)componentReference;
- if (builder.getCompositeReference() != null)
- getReferences().add(builder.getCompositeReference());
- }
- }
- return this;
- }
-
- public CompositeBuilder includes(CompositeBuilder... compositeBuilders) {
- List<Composite> list = getIncludes();
- for (CompositeBuilder composite: compositeBuilders) {
- list.add((Composite)composite);
- }
- return this;
- }
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java b/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java
deleted file mode 100644
index ba91fd2168..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public interface AccountDataService {
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java
deleted file mode 100644
index 4e239d03d3..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public class AccountDataServiceImpl {
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java b/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java
deleted file mode 100644
index 030c820ed2..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public interface AccountService {
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java b/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java
deleted file mode 100644
index 92f448ec87..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public class AccountServiceImpl {
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java b/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java
deleted file mode 100644
index b856201551..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-import org.apache.tuscany.sca.assembly.dsl.impl.AssemblyBuilderImpl;
-
-public class BigBankBuilder extends AssemblyBuilderImpl {
-
- public CompositeBuilder build() {
-
- CompositeBuilder bigbankAccount = composite("bigbank.account").contains(
-
- component("AccountServiceComponent").
- implementedBy(AccountServiceImpl.class).
- uses(
- reference("accountDataService").typedBy(AccountDataService.class).wiredTo("AccountDataServiceComponent/AccountDataService"),
- reference("stockQuoteService").promotedAs("StockQuoteService")
- ).
- provides(
- service("AccountDataService").typedBy(AccountService.class).promoted()
- ).
- declares(
- property("currency").ofType("string").configuredTo("USD")
- ),
-
- component("AccountDataServiceComponent").
- implementedBy(AccountDataServiceImpl.class).
- provides(
- service("AccountDataService").typedBy(AccountDataService.class)
- )
- );
-
- CompositeBuilder bigbankApp = composite("bigbank.app").
- contains(
- component("BigBankAccount").implementedBy(bigbankAccount)
- );
-
- CompositeBuilder domain = domain("http://bigbank.org").includes(bigbankApp);
-
- return domain;
- }
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java b/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java
deleted file mode 100644
index fb950b5c13..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-import junit.framework.TestCase;
-
-public class BigBankBuilderTestCase extends TestCase {
-
- public void testBuild() throws Exception {
-
- BigBankBuilder builder = new BigBankBuilder();
- CompositeBuilder domain = builder.build();
- assertNotNull(domain);
- }
-
-}
diff --git a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java b/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java
deleted file mode 100644
index a0580095a0..0000000000
--- a/branches/sca-android/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.dsl;
-
-public interface StockQuoteService {
-
-}
diff --git a/branches/sca-android/modules/binding-dwr/LICENSE b/branches/sca-android/modules/binding-dwr/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/binding-dwr/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/binding-dwr/META-INF/README b/branches/sca-android/modules/binding-dwr/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-dwr/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-dwr/NOTICE b/branches/sca-android/modules/binding-dwr/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/binding-dwr/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/binding-dwr/pom.xml b/branches/sca-android/modules/binding-dwr/pom.xml
deleted file mode 100644
index dd91356a21..0000000000
--- a/branches/sca-android/modules/binding-dwr/pom.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-dwr</artifactId>
- <name>Apache Tuscany SCA AJAX DWR Binding Extension</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extension-helper</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.directwebremoting</groupId>
- <artifactId>dwr</artifactId>
- <version>2.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version> <!-- to keep compatible with older servlet containers -->
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.dwr</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.dwr*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java b/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java
deleted file mode 100644
index ae5cf327ab..0000000000
--- a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.dwr;
-
-/**
- * The runtime representation of the <binding.dwr> SCDL
- *
- * @version $Rev$ $Date$
- */
-public class DWRBinding {
-
- // Empty as <binding.dwr> doesn't use any additional attributes or elements (yet).
-
-}
diff --git a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java b/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java
deleted file mode 100644
index d14751f235..0000000000
--- a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.dwr;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.extension.helper.BindingActivator;
-import org.apache.tuscany.sca.extension.helper.ComponentLifecycle;
-import org.apache.tuscany.sca.extension.helper.InvokerFactory;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * The Binding Activator for the DWR Binding.
- *
- * @version $Rev$ $Date$
- */
-public class DWRBindingActivator implements BindingActivator<DWRBinding>{
-
- private ServletHost servletHost;
-
- public DWRBindingActivator(ServletHost servletHost) {
- this.servletHost = servletHost;
- }
-
- public Class<DWRBinding> getBindingClass() {
- return DWRBinding.class;
- }
-
- public InvokerFactory createInvokerFactory(RuntimeComponent rc, RuntimeComponentReference rcr, Binding b, DWRBinding ab) {
- return new DWRInvokerFactory(rc, rcr, b, ab, servletHost);
- }
-
- public ComponentLifecycle createService(RuntimeComponent rc, RuntimeComponentService rcs, Binding b, DWRBinding ab) {
- return new DWRService(rc, rcs, b, ab, servletHost);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java b/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java
deleted file mode 100644
index 24e6dbbcd4..0000000000
--- a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.dwr;
-
-import java.util.Collection;
-
-import org.apache.tuscany.sca.core.invocation.MessageImpl;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.directwebremoting.ScriptBuffer;
-import org.directwebremoting.WebContext;
-import org.directwebremoting.WebContextFactory;
-import org.directwebremoting.proxy.dwr.Util;
-
-/**
- * The invoker for a DWR Binding.
- *
- * @version $Rev$ $Date$
- */
-public class DWRInvoker implements Invoker {
-
- private String referenceFunction;
-
- public DWRInvoker(String referenceName, Operation operation) {
- this.referenceFunction = referenceName + "." + operation.getName();
- }
-
- public Message invoke(Message requestMsg) {
-
- invoke((Object[])requestMsg.getBody());
-
- // DWR references can not return anything
- return new MessageImpl();
- }
-
- public void invoke(Object[] args) {
-
- // TODO: this only works if its the same thread as request
- WebContext wctx = WebContextFactory.get();
- String currentPage = wctx.getCurrentPage();
-
- // Get a DWR Util proxy for all the browsers on the current page:
- Collection sessions = wctx.getScriptSessionsByPage(currentPage);
- Util utilAll = new Util(sessions);
-
- ScriptBuffer referenceInvoke = getInvokeFragment(args, wctx);
-
- // add the reference call to the Util proxy which will cause DWR to
- // asynchronously send it to be run on each active browser client
- utilAll.addScript(referenceInvoke);
- }
-
- /**
- * Creates a fragment of JavaScript code to invoke the reference function
- * Eg: "<referenceName>.<operationName>(arg1, arg2,...);"
- */
- protected ScriptBuffer getInvokeFragment(Object[] args, WebContext wctx) {
-
- ScriptBuffer sb = new ScriptBuffer();
- sb.appendScript(referenceFunction);
- sb.appendScript("(");
- if (args != null) {
- for (int i = 0; i < args.length; i++) {
- sb.appendData(args[i]);
- if (i < (args.length - 1)) {
- sb.appendScript(", ");
- }
- }
- }
- sb.appendScript(");");
-
- return sb;
- }
-
-}
diff --git a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java b/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java
deleted file mode 100644
index 1d073c9ecf..0000000000
--- a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.dwr;
-
-import static org.apache.tuscany.sca.binding.dwr.DWRService.SERVLET_PATH;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.extension.helper.ComponentLifecycle;
-import org.apache.tuscany.sca.extension.helper.InvokerFactory;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-/**
- * InvokerFactory for the DWRBinding.
- *
- * @version $Rev$ $Date$
- */
-public class DWRInvokerFactory implements InvokerFactory, ComponentLifecycle {
-
- private Binding binding;
- private ServletHost servletHost;
-
- public DWRInvokerFactory(RuntimeComponent rc, RuntimeComponentReference rcr, Binding b, DWRBinding ab, ServletHost servletHost) {
- this.binding = b;
- this.servletHost = servletHost;
- }
-
- public Invoker createInvoker(Operation operation) {
- return new DWRInvoker(binding.getName(), operation);
- }
-
- public void start() {
-
- DWRServlet servlet = (DWRServlet) servletHost.getServletMapping(SERVLET_PATH);
- if (servlet == null) {
- servlet = new DWRServlet();
- servletHost.addServletMapping(SERVLET_PATH, servlet);
- }
-
- servlet.addReference(binding.getName());
- }
-
- public void stop() {
- servletHost.removeServletMapping(SERVLET_PATH);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java b/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java
deleted file mode 100644
index 7d5a7f1677..0000000000
--- a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.dwr;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.extension.helper.ComponentLifecycle;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * DWR Service.
- *
- * @version $Rev$ $Date$
- */
-public class DWRService implements ComponentLifecycle {
-
- private RuntimeComponent rc;
- private RuntimeComponentService rcs;
- private Binding binding;
- private ServletHost servletHost;
-
- static final String SERVLET_PATH = "/SCADomain/*";
-
- public DWRService(RuntimeComponent rc, RuntimeComponentService rcs, Binding binding, DWRBinding ab, ServletHost servletHost) {
- this.rc = rc;
- this.rcs = rcs;
- this.binding = binding;
- this.servletHost = servletHost;
- }
-
- public void start() {
-
- DWRServlet servlet = (DWRServlet) servletHost.getServletMapping(SERVLET_PATH);
- if (servlet == null) {
- servlet = new DWRServlet();
- servletHost.addServletMapping(SERVLET_PATH, servlet);
- }
-
- // Create a Java proxy to the target service
- Class<?> type = ((JavaInterface)rcs.getInterfaceContract().getInterface()).getJavaClass();
- Object proxy = Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, new InvocationHandler() {
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- RuntimeWire wire = rcs.getRuntimeWire(binding);
- Operation op = JavaInterfaceUtil.findOperation(method, rcs.getInterfaceContract().getInterface().getOperations());
- return wire.invoke(op, args);
- }});
-
- servlet.addService(binding.getName(), type, proxy);
- }
-
- public void stop() {
- servletHost.removeServletMapping(SERVLET_PATH);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java b/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java
deleted file mode 100644
index 3a2471d8f3..0000000000
--- a/branches/sca-android/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.dwr;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.directwebremoting.Container;
-import org.directwebremoting.create.AbstractCreator;
-import org.directwebremoting.extend.CreatorManager;
-import org.directwebremoting.extend.Handler;
-import org.directwebremoting.extend.Remoter;
-import org.directwebremoting.servlet.DwrServlet;
-import org.directwebremoting.servlet.EngineHandler;
-import org.directwebremoting.servlet.PathConstants;
-import org.directwebremoting.servlet.UrlProcessor;
-
-/**
- * Tuscany customized DWR Servlet to implement support for the DWR binding
- *
- * Handles requests for SCA services and references that use <binding.dwr>,
- * and also the HTTP GET for the Tuscany DWR system script "scaDomain.js"
- *
- * @version $Rev$ $Date$
- */
-public class DWRServlet extends DwrServlet {
- private static final long serialVersionUID = 1L;
-
- private transient Map<String, ServiceHolder> services;
- private transient List<String> referenceNames;
- private transient boolean initialized;
- private transient Map<String, String> initParams;
-
- private static final String SCADOMAIN_SCRIPT_PATH = "/scaDomain.js";
-
- public DWRServlet() {
- this.services = new HashMap<String, ServiceHolder>();
- this.referenceNames = new ArrayList<String>();
-
- this.initParams = new HashMap<String, String>();
- // maybe use <binding.dwr> attributes to define the init params
- initParams.put("activeReverseAjaxEnabled", "true");
- }
-
- @Override
- public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
- super.service(req, res);
- }
-
- /**
- * Initialize the Servlet
- * There is a single instance of this Servlet which is registered
- * for multiple path mappings, but the init should only run once.
- */
- @Override
- public void init(ServletConfig servletConfig) throws ServletException {
- if (!initialized) {
- super.init(patchConfig(servletConfig));
- addScriptHandler();
- initServices();
- initialized = true;
- }
- }
-
- /**
- * Add in the handler to process the HTTP get for /sca/scaDomain.js
- *
- * This wrappers the DWR Engine handler which returns the DWR engine.js script,
- * this wrappers that handler so as to add Tuscany specific header and footer code
- * to the DWR engine.js to define the Tuscany SCADomain control functions and
- * functions for each SCA service and reference that use <binding.dwr>.
- */
- private void addScriptHandler() {
-
- UrlProcessor urlProcessor = (UrlProcessor)getContainer().getBean(UrlProcessor.class.getName());
-
- final EngineHandler engineHandler =
- (EngineHandler)getContainer().getBean(PathConstants.URL_PREFIX + "/engine.js");
-
- final Handler scaDomainScriptHandler = new Handler() {
- public void handle(HttpServletRequest request, HttpServletResponse response) throws IOException {
- PrintWriter out = response.getWriter();
- out.println("/** Apache Tuscany scaDomain.js Header */");
-
- engineHandler.handle(request, response);
-
- tuscanyFooter(request, out);
- }
-
- };
-
- // add the scaDomainScriptHandler to the urlProcessor
- // bit of a hack, there's probably cleaner way to get it registered
- urlProcessor.afterContainerSetup(new Container() {
- public Object getBean(String name) {
- return scaDomainScriptHandler;
- }
- public Collection getBeanNames() {
- return Arrays.asList(new String[] {PathConstants.URL_PREFIX + SCADOMAIN_SCRIPT_PATH});
- }
- });
- }
-
- /**
- * Adds the JavaScript defining SCADomain, its control functions,
- * and functions for all the available SCA services and references.
- */
- private void tuscanyFooter(HttpServletRequest request, PrintWriter out) {
- out.println("/** Apache Tuscany scaDomain.js Footer */");
- out.println();
- out.println("function scaDomain() { }");
- out.println();
- out.println("// SCA services");
-
- // Use the DWR remoter to generate the JavaScipt function for each SCA service
- Remoter remoter = (Remoter)getContainer().getBean(Remoter.class.getName());
-
- String path = request.getContextPath() + request.getServletPath();
-
- for (String serviceName : services.keySet()) {
- String serviceScript = remoter.generateInterfaceScript(serviceName, path);
- out.println(serviceScript);
- }
-
- if (referenceNames.size() > 0) {
-
- out.println("// SCA reverse ajax control functions");
- out.println();
- out.println("scaDomain.open = function() { dwr.engine.setActiveReverseAjax(true); };");
- out.println("scaDomain.close = function() { dwr.engine.setActiveReverseAjax(false); };");
-
- out.println();
- out.println("// SCA references");
- out.println();
-
- // the JavaScript function for SCA references has an
- // empty impl as it uses DWR severside "push"
- for (String referenceName : referenceNames) {
- out.println("function " + referenceName + "() { }");
- }
- }
-
- out.println();
- out.println("/** End of Apache Tuscany scaDomain.js */");
- out.println();
- }
-
- /**
- * Add an SCA reference to be added to the DWR runtime
- */
- public void addReference(String name) {
- referenceNames.add(name);
- }
-
- /**
- * Add an SCA service to be added to the DWR runtime
- */
- public void addService(String name, final Class type, final Object instance) {
- ServiceHolder holder = new ServiceHolder();
- holder.name = name;
- holder.type = type;
- holder.instance = instance;
- services.put(name, holder);
- }
-
- /**
- * Defines each SCA service proxy instance to DWR
- */
- private void initServices() {
- CreatorManager creatorManager = (CreatorManager)getContainer().getBean(CreatorManager.class.getName());
-
- for (final ServiceHolder holder : services.values()) {
- creatorManager.addCreator(holder.name, new AbstractCreator() {
- public Class getType() {
- return holder.type;
- }
-
- public Object getInstance() throws InstantiationException {
- return holder.instance;
- }
- });
- }
- }
-
- // utility class to aid passing around services
- private class ServiceHolder {
- String name;
- Class type;
- Object instance;
- }
-
- /**
- * Patch the ServletConfig to enable setting init params for DWR
- * and so DWR can't see the Tuscany servlet's init params.
- */
- private ServletConfig patchConfig(final ServletConfig servletConfig) {
- ServletConfig patchedContext = new ServletConfig() {
- public String getInitParameter(String name) {
- return initParams.get(name);
- }
- public Enumeration getInitParameterNames() {
- return Collections.enumeration(initParams.keySet());
- }
- public ServletContext getServletContext() {
- return servletConfig.getServletContext();
- }
- public String getServletName() {
- return servletConfig.getServletName();
- }
- };
- return patchedContext;
- }
-
-}
diff --git a/branches/sca-android/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator b/branches/sca-android/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator
deleted file mode 100644
index 1a9f91fab2..0000000000
--- a/branches/sca-android/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.binding.dwr.DWRBindingActivator
-
diff --git a/branches/sca-android/modules/binding-feed/LICENSE b/branches/sca-android/modules/binding-feed/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/binding-feed/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/binding-feed/META-INF/README b/branches/sca-android/modules/binding-feed/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-feed/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-feed/NOTICE b/branches/sca-android/modules/binding-feed/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/binding-feed/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/binding-feed/pom.xml b/branches/sca-android/modules/binding-feed/pom.xml
deleted file mode 100644
index 1adffb5a84..0000000000
--- a/branches/sca-android/modules/binding-feed/pom.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-feed</artifactId>
- <name>Apache Tuscany SCA Atom+RSS Feed Binding Extension</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-data-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>rome</groupId>
- <artifactId>rome</artifactId>
- <version>0.9</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.3</version>
- <exclusions>
- <exclusion>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>avalon-framework</groupId>
- <artifactId>avalon-framework</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.feed</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.feed*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java
deleted file mode 100644
index 00aa813af2..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-import org.apache.tuscany.sca.assembly.Binding;
-
-/**
- * Atom binding model.
- *
- * @version $Rev$ $Date$
- */
-public interface AtomBinding extends Binding {
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java
deleted file mode 100644
index 050ba9b73c..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-/**
- * Factory for the Atom binding
- *
- * @version $Rev$ $Date$
- */
-public interface AtomBindingFactory {
-
- /**
- * Creates a new Atom binding.
- * @return the new Atom binding
- */
- AtomBinding createAtomBinding();
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java
deleted file mode 100644
index 81b9fd95ad..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-import org.apache.tuscany.sca.assembly.Binding;
-
-/**
- * RSS Feed binding model.
- *
- * @version $Rev$ $Date$
- */
-public interface RSSBinding extends Binding {
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java
deleted file mode 100644
index c95c8ac012..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-/**
- * Factory for the RSS binding
- *
- * @version $Rev$ $Date$
- */
-public interface RSSBindingFactory {
-
- /**
- * Creates a new RSS binding.
- * @return the new RSS binding
- */
- RSSBinding createRSSBinding();
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java
deleted file mode 100644
index 30068afa0a..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.collection;
-
-import org.osoa.sca.annotations.Remotable;
-
-import com.sun.syndication.feed.atom.Entry;
-
-/**
- * Provides access to a collection of resources using Atom.
- *
- * @version $Rev$ $Date$
- */
-@Remotable
-public interface Collection {
-
- /**
- * Get an RSS or Atom feed for a collection of resources.
- *
- * @return the RSS or Atom feed
- */
- com.sun.syndication.feed.atom.Feed getFeed();
-
- /**
- * Creates a new entry.
- *
- * @param entry
- * @return
- */
- Entry post(Entry entry);
-
- /**
- * Retrieves an entry.
- *
- * @param id
- * @return
- */
- Entry get(String id) throws NotFoundException;
-
- /**
- * Update an entry.
- *
- * @param id
- * @param entry
- * @return
- */
- void put(String id, Entry entry) throws NotFoundException;
-
- /**
- * Delete an entry.
- *
- * @param id
- */
- void delete(String id) throws NotFoundException;
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java
deleted file mode 100644
index 39a4213a65..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.collection;
-
-import java.io.InputStream;
-
-import org.osoa.sca.annotations.Remotable;
-
-import com.sun.syndication.feed.atom.Entry;
-
-/**
- * Provides access to a collection of resources using Atom.
- *
- * @version $Rev$ $Date$
- */
-@Remotable
-public interface MediaCollection extends Collection {
-
- /**
- * Creates a new media entry
- *
- * @param title
- * @param slug
- * @param contentType
- * @param media
- */
- Entry postMedia(String title, String slug, String contentType, InputStream media);
-
- /**
- * Update a media entry.
- *
- * @param id
- * @param contentType
- * @param media
- * @return
- */
- void putMedia(String id, String contentType, InputStream media) throws NotFoundException;
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java
deleted file mode 100644
index 503f30e685..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.collection;
-
-/**
- * Indicates that a resource could not be found.
- *
- * @version $Rev$ $Date$
- */
-public class NotFoundException extends Exception {
- private static final long serialVersionUID = -5046027674128627383L;
-
- public NotFoundException() {
- }
-
- public NotFoundException(String message) {
- super(message);
- }
-
- public NotFoundException(Throwable cause) {
- super(cause);
- }
-
- public NotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java
deleted file mode 100644
index a9a1167544..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.impl;
-
-import org.apache.tuscany.sca.binding.feed.AtomBinding;
-import org.apache.tuscany.sca.binding.feed.AtomBindingFactory;
-
-/**
- * Factory for the Atom binding model.
- *
- * @version $Rev$ $Date$
- */
-public class AtomBindingFactoryImpl implements AtomBindingFactory {
-
- public AtomBinding createAtomBinding() {
- return new AtomBindingImpl();
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java
deleted file mode 100644
index 76551bc412..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.feed.AtomBinding;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-
-/**
- * Implementation of the Atom Feed binding model.
- *
- * @version $Rev$ $Date$
- */
-class AtomBindingImpl implements AtomBinding, PolicySetAttachPoint {
-
- private String name;
- private String uri;
- private List<Intent> requiredIntents = new ArrayList<Intent>();
- private List<PolicySet> policySets = new ArrayList<PolicySet>();
- private IntentAttachPointType intentAttachPointType;
- private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
-
- public List<PolicySet> getApplicablePolicySets() {
- return applicablePolicySets;
- }
-
- public String getName() {
- return name;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
-
- public boolean isUnresolved() {
- // The binding is always resolved
- return false;
- }
-
- public void setUnresolved(boolean unresolved) {
- // The binding is always resolved
- }
-
- public List<PolicySet> getPolicySets() {
- return policySets;
- }
-
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
- public IntentAttachPointType getType() {
- return intentAttachPointType;
- }
-
- public void setType(IntentAttachPointType intentAttachPointType) {
- this.intentAttachPointType = intentAttachPointType;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java
deleted file mode 100644
index 4d8fb943f0..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.impl;
-
-import org.apache.tuscany.sca.binding.feed.RSSBinding;
-import org.apache.tuscany.sca.binding.feed.RSSBindingFactory;
-
-/**
- * Factory for the RSS binding model.
- *
- * @version $Rev$ $Date$
- */
-public class RSSBindingFactoryImpl implements RSSBindingFactory {
-
- public RSSBinding createRSSBinding() {
- return new RSSBindingImpl();
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java
deleted file mode 100644
index 9df2ec60da..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.feed.RSSBinding;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-
-/**
- * Implementation of the RSS Feed binding model.
- *
- * @version $Rev$ $Date$
- */
-class RSSBindingImpl implements RSSBinding, PolicySetAttachPoint {
-
- private String name;
- private String uri;
- private List<Intent> requiredIntents = new ArrayList<Intent>();
- private List<PolicySet> policySets = new ArrayList<PolicySet>();
- private IntentAttachPointType intentAttachPointType;
- private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
-
- public List<PolicySet> getApplicablePolicySets() {
- return applicablePolicySets;
- }
-
- public String getName() {
- return name;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public boolean isUnresolved() {
- return false;
- }
-
- public void setUnresolved(boolean unresolved) {
- // The binding is always resolved
- }
-
- public List<PolicySet> getPolicySets() {
- return policySets;
- }
-
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
- public IntentAttachPointType getType() {
- return intentAttachPointType;
- }
-
- public void setType(IntentAttachPointType intentAttachPointType) {
- this.intentAttachPointType = intentAttachPointType;
- }
-
- public void setPolicySets(List<PolicySet> policySets) {
- this.policySets = policySets;
- }
-
- public void setRequiredIntents(List<Intent> intents) {
- this.requiredIntents = intents;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java
deleted file mode 100644
index 45b35d9206..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import java.io.InputStreamReader;
-import java.io.StringWriter;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.apache.tuscany.sca.binding.feed.collection.NotFoundException;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.invocation.DataExchangeSemantics;
-import org.osoa.sca.ServiceRuntimeException;
-
-import com.sun.syndication.feed.atom.Entry;
-import com.sun.syndication.feed.atom.Feed;
-import com.sun.syndication.io.WireFeedInput;
-import com.sun.syndication.io.XmlReader;
-
-/**
- * Invoker for the Atom binding.
- *
- * @version $Rev$ $Date$
- */
-class AtomBindingInvoker implements Invoker, DataExchangeSemantics {
-
- Operation operation;
- String uri;
- HttpClient httpClient;
- String authorizationHeader;
-
- //FIXME Support conversion to/from data api entries
-
- AtomBindingInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- this.operation = operation;
- this.uri = uri;
- this.httpClient = httpClient;
- this.authorizationHeader = authorizationHeader;
- }
-
- public Message invoke(Message msg) {
- // Shouldn't get here, as the only supported methods are
- // defined in the ResourceCollection interface, and implemented
- // by specific invoker subclasses
- throw new UnsupportedOperationException(operation.getName());
- }
-
- public boolean allowsPassByReference() {
- return true;
- }
-
- /**
- * Get operation invoker
- */
- public static class GetInvoker extends AtomBindingInvoker {
-
- public GetInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- super(operation, uri, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- // Get an entry
- String id = (String)((Object[])msg.getBody())[0];
-
- // Send an HTTP GET
- GetMethod getMethod = new GetMethod(uri + "/" + id);
- getMethod.setRequestHeader("Authorization", authorizationHeader);
- try {
- httpClient.executeMethod(getMethod);
- int status = getMethod.getStatusCode();
-
- // Read the Atom entry
- if (status == 200) {
- Entry feedEntry =
- AtomFeedEntryUtil.readFeedEntry("atom_1.0", new InputStreamReader(getMethod.getResponseBodyAsStream()));
- msg.setBody(feedEntry);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } catch (Exception e) {
- msg.setFaultBody(new ServiceRuntimeException(e));
- } finally {
- getMethod.releaseConnection();
- }
-
- return msg;
- }
- }
-
- /**
- * Post operation invoker
- */
- public static class PostInvoker extends AtomBindingInvoker {
-
- public PostInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- super(operation, uri, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- // Post an entry
- Entry feedEntry = (Entry)((Object[])msg.getBody())[0];
-
- // Send an HTTP POST
- PostMethod postMethod = new PostMethod(uri);
- postMethod.setRequestHeader("Authorization", authorizationHeader);
- try {
-
- // Write the Atom entry
- StringWriter writer = new StringWriter();
- AtomFeedEntryUtil.writeFeedEntry(feedEntry, "atom_1.0", writer);
- postMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8");
- postMethod.setRequestEntity(new StringRequestEntity(writer.toString()));
-
- httpClient.executeMethod(postMethod);
- int status = postMethod.getStatusCode();
-
- // Read the Atom entry
- if (status == 200 || status == 201) {
- Entry createdEntry =
- AtomFeedEntryUtil
- .readFeedEntry("atom_1.0", new InputStreamReader(postMethod.getResponseBodyAsStream()));
- msg.setBody(createdEntry);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } catch (Exception e) {
- msg.setFaultBody(new ServiceRuntimeException(e));
- } finally {
- postMethod.releaseConnection();
- }
-
- return msg;
- }
- }
-
- /**
- * Put operation invoker
- */
- public static class PutInvoker extends AtomBindingInvoker {
-
- public PutInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- super(operation, uri, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- // Put an entry
- Object[] args = (Object[])msg.getBody();
- String id = (String)args[0];
- Entry feedEntry = (Entry)args[1];
-
- // Send an HTTP PUT
- PutMethod putMethod = new PutMethod(uri + "/" + id);
- putMethod.setRequestHeader("Authorization", authorizationHeader);
- try {
-
- // Write the Atom entry
- StringWriter writer = new StringWriter();
- AtomFeedEntryUtil.writeFeedEntry(feedEntry, "atom_1.0", writer);
- putMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8");
- putMethod.setRequestEntity(new StringRequestEntity(writer.toString()));
-
- httpClient.executeMethod(putMethod);
- int status = putMethod.getStatusCode();
-
- // Read the Atom entry
- if (status == 200 || status == 201) {
- try {
- Entry updatedEntry =
- AtomFeedEntryUtil.readFeedEntry("atom_1.0", new InputStreamReader(putMethod
- .getResponseBodyAsStream()));
- msg.setBody(updatedEntry);
- } catch (Exception e) {
- // Returning the updated entry is optional
- }
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } catch (Exception e) {
- msg.setFaultBody(new ServiceRuntimeException(e));
- } finally {
- putMethod.releaseConnection();
- }
-
- return msg;
- }
- }
-
- /**
- * Delete operation invoker
- */
- public static class DeleteInvoker extends AtomBindingInvoker {
-
- public DeleteInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- super(operation, uri, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- // Delete an entry
- String id = (String)((Object[])msg.getBody())[0];
-
- // Send an HTTP DELETE
- DeleteMethod deleteMethod = new DeleteMethod(uri + "/" + id);
- deleteMethod.setRequestHeader("Authorization", authorizationHeader);
- try {
- httpClient.executeMethod(deleteMethod);
- int status = deleteMethod.getStatusCode();
-
- // Read the Atom entry
- if (status == 200) {
- msg.setBody(null);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } catch (Exception e) {
- msg.setFaultBody(new ServiceRuntimeException(e));
- } finally {
- deleteMethod.releaseConnection();
- }
-
- return msg;
- }
- }
-
- /**
- * GetAll operation invoker
- */
- public static class GetAllInvoker extends AtomBindingInvoker {
-
- public GetAllInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- super(operation, uri, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
-
- // Get a feed
-
- // Send an HTTP GET
- GetMethod getMethod = new GetMethod(uri);
- getMethod.setRequestHeader("Authorization", authorizationHeader);
- try {
- httpClient.executeMethod(getMethod);
- int status = getMethod.getStatusCode();
-
- // Read the Atom feed
- if (status == 200) {
- WireFeedInput input = new WireFeedInput();
- Feed feed = (Feed)input.build(new XmlReader(getMethod.getResponseBodyAsStream()));
- msg.setBody(feed);
-
- } else if (status == 404) {
- msg.setFaultBody(new NotFoundException());
- } else {
- msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status));
- }
-
- } catch (Exception e) {
- msg.setFaultBody(new ServiceRuntimeException(e));
- } finally {
- getMethod.releaseConnection();
- }
-
- return msg;
- }
- }
-
- /**
- * PostMedia operation invoker
- */
- public static class PostMediaInvoker extends AtomBindingInvoker {
-
- public PostMediaInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- super(operation, uri, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
- // TODO implement
- return super.invoke(msg);
- }
- }
-
- /**
- * PutMedia operation invoker
- */
- public static class PutMediaInvoker extends AtomBindingInvoker {
-
- public PutMediaInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
- super(operation, uri, httpClient, authorizationHeader);
- }
-
- @Override
- public Message invoke(Message msg) {
- // TODO implement
- return super.invoke(msg);
- }
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java
deleted file mode 100644
index 9a858f899f..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import org.apache.tuscany.sca.binding.feed.AtomBinding;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.databinding.TransformerExtensionPoint;
-import org.apache.tuscany.sca.databinding.impl.MediatorImpl;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * Implementation of the Atom binding model.
- *
- * @version $Rev$ $Date$
- */
-public class AtomBindingProviderFactory implements BindingProviderFactory<AtomBinding> {
-
- private MessageFactory messageFactory;
- private Mediator mediator;
- private ServletHost servletHost;
-
- public AtomBindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
- this.servletHost = servletHosts.getServletHosts().get(0);
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- this.messageFactory = modelFactories.getFactory(MessageFactory.class);
- this.mediator = new MediatorImpl(extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class),
- extensionPoints.getExtensionPoint(TransformerExtensionPoint.class));
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- AtomBinding binding) {
- return new AtomReferenceBindingProvider(component, reference, binding);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- AtomBinding binding) {
- return new AtomServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator);
- }
-
- public Class<AtomBinding> getModelType() {
- return AtomBinding.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java
deleted file mode 100644
index 7adbfca6e8..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.Format;
-import org.jdom.output.XMLOutputter;
-
-import com.sun.syndication.feed.atom.Content;
-import com.sun.syndication.feed.atom.Entry;
-import com.sun.syndication.feed.atom.Feed;
-import com.sun.syndication.io.FeedException;
-import com.sun.syndication.io.WireFeedInput;
-import com.sun.syndication.io.WireFeedOutput;
-
-/**
- * Utility methods to read/write Atom entries.
- *
- * @version $Rev$ $Date$
- */
-class AtomFeedEntryUtil {
-
- /**
- * Read an Atom entry
- *
- * @param request
- * @return
- * @throws IOException
- * @throws JDOMException
- * @throws FeedException
- * @throws IllegalArgumentException
- */
- static Entry readFeedEntry(String feedType, Reader reader) throws JDOMException, IOException, IllegalArgumentException,
- FeedException {
- SAXBuilder builder = new SAXBuilder();
- Document document = builder.build(reader);
- Element root = document.getRootElement();
- root.detach();
- Feed feed = new Feed();
- feed.setFeedType(feedType);
- WireFeedOutput wireFeedOutput = new WireFeedOutput();
- document = wireFeedOutput.outputJDom(feed);
- document.getRootElement().addContent(root);
- WireFeedInput input = new WireFeedInput();
- feed = (Feed)input.build(document);
- Entry feedEntry = (Entry)feed.getEntries().get(0);
- if (feedEntry.getContents().size() != 0) {
- Content content = (Content)feedEntry.getContents().get(0);
- if ("text/xml".equals(content.getType())) {
- Element element = root.getChild("content", root.getNamespace());
- if (!element.getChildren().isEmpty()) {
- element = (Element)element.getChildren().get(0);
- XMLOutputter outputter = new XMLOutputter();
- StringWriter sw = new StringWriter();
- outputter.output(element, sw);
- content.setValue(sw.toString());
- }
- }
- }
- return feedEntry;
- }
-
- /**
- * Write an Atom entry.
- *
- * @param entry
- * @param response
- * @throws FeedException
- * @throws IllegalArgumentException
- * @throws IOException
- * @throws ServletException
- */
- static void writeFeedEntry(Entry feedEntry, String feedType, Writer writer) throws IllegalArgumentException, FeedException,
- IOException {
- Feed feed = new Feed();
- feed.setFeedType(feedType);
- List<Entry> feedEntries = new ArrayList<Entry>();
- feedEntries.add(feedEntry);
- feed.setEntries(feedEntries);
-
- WireFeedOutput wireFeedOutput = new WireFeedOutput();
- Document document = wireFeedOutput.outputJDom(feed);
- Element root = document.getRootElement();
- Element element = (Element)root.getChildren().get(0);
- XMLOutputter outputter = new XMLOutputter();
- outputter.setFormat(Format.getPrettyFormat());
- outputter.output(element, writer);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java
deleted file mode 100644
index d9bda1fb9a..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import java.net.URI;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.httpclient.Credentials;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
-import org.apache.commons.httpclient.UsernamePasswordCredentials;
-import org.apache.commons.httpclient.auth.AuthScope;
-import org.apache.tuscany.sca.binding.feed.AtomBinding;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-/**
- * Implementation of the Atom binding provider.
- *
- * @version $Rev$ $Date$
- */
-class AtomReferenceBindingProvider implements ReferenceBindingProvider {
-
- private RuntimeComponentReference reference;
- private AtomBinding binding;
- private String authorizationHeader;
- private HttpClient httpClient;
-
- /**
- * Constructs a new AtomReferenceBindingProvider
- * @param component
- * @param reference
- * @param binding
- */
- AtomReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- AtomBinding binding) {
- this.reference = reference;
- this.binding = binding;
-
- // Prepare authorization header
- String authorization = "admin" + ":" + "admin";
- authorizationHeader = "Basic " + new String(Base64.encodeBase64(authorization.getBytes()));
-
- // Create an HTTP client
- httpClient = new HttpClient(new MultiThreadedHttpConnectionManager());
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(60000);
- }
-
- public Invoker createInvoker(Operation operation) {
- String operationName = operation.getName();
- if (operationName.equals("get")) {
- return new AtomBindingInvoker.GetInvoker(operation, binding.getURI(), httpClient, authorizationHeader);
- } else if (operationName.equals("post")) {
- return new AtomBindingInvoker.PostInvoker(operation, binding.getURI(), httpClient, authorizationHeader);
- } else if (operationName.equals("put")) {
- return new AtomBindingInvoker.PutInvoker(operation, binding.getURI(), httpClient, authorizationHeader);
- } else if (operationName.equals("delete")) {
- return new AtomBindingInvoker.DeleteInvoker(operation, binding.getURI(), httpClient,
- authorizationHeader);
- } else if (operationName.equals("getFeed") || operationName.equals("getAll")) {
- return new AtomBindingInvoker.GetAllInvoker(operation, binding.getURI(), httpClient,
- authorizationHeader);
- } else if (operationName.equals("postMedia")) {
- return new AtomBindingInvoker.PostMediaInvoker(operation, binding.getURI(), httpClient,
- authorizationHeader);
- } else if (operationName.equals("putMedia")) {
- return new AtomBindingInvoker.PutMediaInvoker(operation, binding.getURI(), httpClient,
- authorizationHeader);
- }
-
- return new AtomBindingInvoker(operation, binding.getURI(), httpClient, authorizationHeader);
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return reference.getInterfaceContract();
- }
-
- public void start() {
-
- // Configure the HTTP client credentials
- Credentials credentials = new UsernamePasswordCredentials("admin", "admin");
- httpClient.getParams().setAuthenticationPreemptive(true);
- URI uri = URI.create(binding.getURI());
- httpClient.getState().setCredentials(new AuthScope(uri.getHost(), uri.getPort()), credentials);
- }
-
- public void stop() {
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java
deleted file mode 100644
index 23c36f51e3..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import org.apache.tuscany.sca.binding.feed.AtomBinding;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * Implementation of the Atom binding provider.
- *
- * @version $Rev$ $Date$
- */
-class AtomServiceBindingProvider implements ServiceBindingProvider {
-
- private RuntimeComponentService service;
- private AtomBinding binding;
- private ServletHost servletHost;
- private MessageFactory messageFactory;
- private String servletMapping;
- private Mediator mediator;
-
- AtomServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- AtomBinding binding,
- ServletHost servletHost,
- MessageFactory messageFactory,
- Mediator mediator) {
- this.service = service;
- this.binding = binding;
- this.servletHost = servletHost;
- this.messageFactory = messageFactory;
- this.mediator = mediator;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return service.getInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- RuntimeComponentService componentService = (RuntimeComponentService)service;
- RuntimeWire wire = componentService.getRuntimeWire(binding);
-
- FeedBindingListenerServlet servlet =
- new FeedBindingListenerServlet(wire, messageFactory, mediator, "atom_1.0");
-
- servletMapping = binding.getURI();
- if (!servletMapping.endsWith("/")) {
- servletMapping += "/";
- }
- if (!servletMapping.endsWith("*")) {
- servletMapping += "*";
- }
- servletHost.addServletMapping(servletMapping, servlet);
- }
-
- public void stop() {
- servletHost.removeServletMapping(servletMapping);
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
deleted file mode 100644
index 89366456f5..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
+++ /dev/null
@@ -1,788 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.logging.Logger;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.namespace.QName;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.tuscany.sca.data.collection.Item;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.DataType;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
-import org.apache.tuscany.sca.interfacedef.util.XMLType;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.Namespace;
-import org.jdom.output.Format;
-import org.jdom.output.XMLOutputter;
-
-import com.sun.syndication.feed.atom.Content;
-import com.sun.syndication.feed.atom.Entry;
-import com.sun.syndication.feed.atom.Feed;
-import com.sun.syndication.feed.atom.Link;
-import com.sun.syndication.feed.synd.SyndFeed;
-import com.sun.syndication.feed.synd.SyndFeedImpl;
-import com.sun.syndication.io.FeedException;
-import com.sun.syndication.io.SyndFeedOutput;
-import com.sun.syndication.io.WireFeedOutput;
-
-/**
- * A resource collection binding listener, implemented as a Servlet and
- * registered in a Servlet host provided by the SCA hosting runtime.
- *
- * @version $Rev$ $Date$
- */
-class FeedBindingListenerServlet extends HttpServlet {
- private static final Logger logger = Logger.getLogger(FeedBindingListenerServlet.class.getName());
- private static final long serialVersionUID = 1L;
-
- private static final Namespace APP_NS = Namespace.getNamespace("app", "http://purl.org/atom/app#");
- private static final Namespace ATOM_NS = Namespace.getNamespace("atom", "http://www.w3.org/2005/Atom");
-
- private RuntimeWire wire;
- private Invoker getFeedInvoker;
- private Invoker getAllInvoker;
- private Invoker queryInvoker;
- private Invoker getInvoker;
- private Invoker postInvoker;
- private Invoker postMediaInvoker;
- private Invoker putInvoker;
- private Invoker putMediaInvoker;
- private Invoker deleteInvoker;
- private MessageFactory messageFactory;
- private String feedType;
- private Mediator mediator;
- private DataType<?> itemClassType;
- private DataType<?> itemXMLType;
- private boolean supportsFeedEntries;
-
- /**
- * Constructs a new binding listener.
- *
- * @param wire
- * @param messageFactory
- * @param feedType
- */
- FeedBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String feedType) {
- this.wire = wire;
- this.messageFactory = messageFactory;
- this.mediator = mediator;
- this.feedType = feedType;
-
- // Get the invokers for the supported operations
- Operation getOperation = null;
- for (InvocationChain invocationChain : this.wire.getInvocationChains()) {
- invocationChain.setAllowsPassByReference(true);
- Operation operation = invocationChain.getTargetOperation();
- String operationName = operation.getName();
- if (operationName.equals("getFeed")) {
- getFeedInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("getAll")) {
- getAllInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("query")) {
- queryInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("get")) {
- getInvoker = invocationChain.getHeadInvoker();
- getOperation = operation;
- } else if (operationName.equals("put")) {
- putInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("putMedia")) {
- putMediaInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("post")) {
- postInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("postMedia")) {
- postMediaInvoker = invocationChain.getHeadInvoker();
- } else if (operationName.equals("delete")) {
- deleteInvoker = invocationChain.getHeadInvoker();
- }
- }
-
- // Determine the collection item type
- itemXMLType = new DataTypeImpl<Class<?>>(String.class.getName(), String.class, String.class);
- Class<?> itemClass = getOperation.getOutputType().getPhysical();
- if (itemClass == Entry.class) {
- supportsFeedEntries = true;
- }
- DataType<XMLType> outputType = getOperation.getOutputType();
- QName qname = outputType.getLogical().getElementName();
- qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName());
- itemClassType = new DataTypeImpl<XMLType>("java:complexType", itemClass, new XMLType(qname, null));
-
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- // No authentication required for a get request
-
- // Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
-
- // The feedType parameter is used to override what type of feed is going
- // to be produced
- String requestFeedType = request.getParameter("feedType");
- if (requestFeedType == null)
- requestFeedType = feedType;
-
- logger.info(">>> FeedEndPointServlet (" + requestFeedType + ") " + request.getRequestURI());
-
- // Handle an Atom request
- if (requestFeedType.startsWith("atom_")) {
-
- if (path != null && path.equals("/atomsvc")) {
-
- // Return the Atom service document
- response.setContentType("application/atomsvc+xml; charset=utf-8");
- Document document = new Document();
- Element service = new Element("service", APP_NS);
- document.setRootElement(service);
-
- Element workspace = new Element("workspace", APP_NS);
- Element title = new Element("title", ATOM_NS);
- title.setText("resource");
- workspace.addContent(title);
- service.addContent(workspace);
-
- Element collection = new Element("collection", APP_NS);
- String href = request.getRequestURL().toString();
- href = href.substring(0, href.length() - "/atomsvc".length());
- collection.setAttribute("href", href);
- Element collectionTitle = new Element("title", ATOM_NS);
- collectionTitle.setText("entries");
- collection.addContent(collectionTitle);
- workspace.addContent(collection);
-
- XMLOutputter outputter = new XMLOutputter();
- Format format = Format.getPrettyFormat();
- format.setEncoding("UTF-8");
- outputter.setFormat(format);
- outputter.output(document, getWriter(response));
-
- } else if (path == null || path.length() == 0 || path.equals("/")) {
-
- // Return a feed containing the entries in the collection
- Feed feed = null;
- if (supportsFeedEntries) {
-
- // The service implementation supports feed entries, invoke its getFeed operation
- Message requestMessage = messageFactory.createMessage();
- Message responseMessage = getFeedInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- feed = (Feed)responseMessage.getBody();
-
- } else {
-
- // The service implementation does not support feed entries,
- // invoke its getAll operation to get the data item collection, then create
- // feed entries from the items
- Message requestMessage = messageFactory.createMessage();
- Message responseMessage;
- if (request.getQueryString() != null) {
- requestMessage.setBody(new Object[] {request.getQueryString()});
- responseMessage = queryInvoker.invoke(requestMessage);
- } else {
- responseMessage = getAllInvoker.invoke(requestMessage);
- }
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- org.apache.tuscany.sca.data.collection.Entry<Object, Object>[] collection =
- (org.apache.tuscany.sca.data.collection.Entry<Object, Object>[])responseMessage.getBody();
- if (collection != null) {
- // Create the feed
- feed = new Feed();
- feed.setTitle("Feed");
- for (org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry: collection) {
- Entry feedEntry = createFeedEntry(entry);
- feed.getEntries().add(feedEntry);
- }
- }
- }
- if (feed != null) {
-
- // Write the Atom feed
- response.setContentType("application/atom+xml; charset=utf-8");
- feed.setFeedType(requestFeedType);
- WireFeedOutput feedOutput = new WireFeedOutput();
- try {
- feedOutput.output(feed, getWriter(response));
- } catch (FeedException e) {
- throw new ServletException(e);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else if (path.startsWith("/")) {
-
- // Return a specific entry in the collection
- Entry feedEntry;
-
- // Invoke the get operation on the service implementation
- Message requestMessage = messageFactory.createMessage();
- String id = path.substring(1);
- requestMessage.setBody(new Object[] {id});
- Message responseMessage = getInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- if (supportsFeedEntries) {
-
- // The service implementation returns a feed entry
- feedEntry = responseMessage.getBody();
-
- } else {
-
- // The service implementation only returns a data item, create an entry
- // from it
- feedEntry = createFeedEntry(new org.apache.tuscany.sca.data.collection.Entry<Object, Object>(id, responseMessage.getBody()));
- }
-
- // Write the Atom entry
- if (feedEntry != null) {
- response.setContentType("application/atom+xml; charset=utf-8");
- try {
- AtomFeedEntryUtil.writeFeedEntry(feedEntry, feedType, getWriter(response));
- } catch (FeedException e) {
- throw new ServletException(e);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else {
-
- // Path doesn't match any known pattern
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- } else {
-
- // Handle an RSS request
- if (path == null || path.length() == 0 || path.equals("/")) {
-
- // Return an RSS feed containing the entries in the collection
- Feed feed = null;
- if (supportsFeedEntries) {
-
- // The service implementation supports feed entries, invoke its getFeed operation
- Message requestMessage = messageFactory.createMessage();
- Message responseMessage = getFeedInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- feed = (Feed)responseMessage.getBody();
-
- } else {
-
- // The service implementation does not support feed entries, invoke its
- // getAll operation to get the data item collection. then create feed entries
- // from the data items
- Message requestMessage = messageFactory.createMessage();
- Message responseMessage;
- if (request.getQueryString() != null) {
- requestMessage.setBody(new Object[] {request.getQueryString()});
- responseMessage = queryInvoker.invoke(requestMessage);
- } else {
- responseMessage = getAllInvoker.invoke(requestMessage);
- }
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- org.apache.tuscany.sca.data.collection.Entry<Object, Object>[] collection =
- (org.apache.tuscany.sca.data.collection.Entry<Object, Object>[])responseMessage.getBody();
- if (collection != null) {
- // Create the feed
- feed = new Feed();
- feed.setTitle("Feed");
- for (org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry: collection) {
- Entry feedEntry = createFeedEntry(entry);
- feed.getEntries().add(feedEntry);
- }
- }
- }
-
- // Convert to an RSS feed
- if (feed != null) {
- response.setContentType("application/rss+xml; charset=utf-8");
- feed.setFeedType("atom_1.0");
- SyndFeed syndFeed = new SyndFeedImpl(feed);
- syndFeed.setFeedType(requestFeedType);
- syndFeed.setLink(path);
- SyndFeedOutput syndOutput = new SyndFeedOutput();
- try {
- syndOutput.output(syndFeed, getWriter(response));
- } catch (FeedException e) {
- throw new ServletException(e);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
- }
-
- /**
- * Create an Atom entry from a data collection entry.
- * @param entry
- * @return
- */
- private Entry createFeedEntry(org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry) {
- Object key = entry.getKey();
- Object data = entry.getData();
- if (data instanceof Item) {
- Item item = (Item)data;
-
- Entry feedEntry = new Entry();
- feedEntry.setId(key.toString());
- feedEntry.setTitle(item.getTitle());
-
- String value = item.getContents();
- if (value != null) {
- Content content = new Content();
- content.setType("text/xml");
- content.setValue(value);
- List<Content> contents = new ArrayList<Content>();
- contents.add(content);
- feedEntry.setContents(contents);
- }
-
- String href = item.getLink();
- if (href == null) {
- href = key.toString();
- }
- Link link = new Link();
- link.setRel("edit");
- link.setHref(href);
- feedEntry.getOtherLinks().add(link);
- link = new Link();
- link.setRel("alternate");
- link.setHref(href);
- feedEntry.getAlternateLinks().add(link);
-
- Date date = item.getDate();
- if (date == null) {
- date = new Date();
- }
- feedEntry.setCreated(date);
- return feedEntry;
-
- } else if (data != null) {
- Entry feedEntry = new Entry();
- feedEntry.setId(key.toString());
- feedEntry.setTitle("item");
-
- // Convert the item to XML
- String value = mediator.mediate(data, itemClassType, itemXMLType, null).toString();
-
- Content content = new Content();
- content.setType("text/xml");
- content.setValue(value);
- List<Content> contents = new ArrayList<Content>();
- contents.add(content);
- feedEntry.setContents(contents);
-
- Link link = new Link();
- link.setRel("edit");
- link.setHref(key.toString());
- feedEntry.getOtherLinks().add(link);
- link = new Link();
- link.setRel("alternate");
- link.setHref(key.toString());
- feedEntry.getAlternateLinks().add(link);
-
- feedEntry.setCreated(new Date());
- return feedEntry;
- } else {
- return null;
- }
- }
-
- /**
- * Create a data collection entry from an Atom entry.
- * @param feedEntry
- * @return
- */
- private org.apache.tuscany.sca.data.collection.Entry<Object, Object> createEntry(Entry feedEntry) {
- if (feedEntry != null) {
- if (itemClassType.getPhysical() == Item.class) {
- String key = feedEntry.getId();
-
- Item item = new Item();
- item.setTitle(feedEntry.getTitle());
-
- List<?> contents = feedEntry.getContents();
- if (!contents.isEmpty()) {
- Content content = (Content)contents.get(0);
- String value = content.getValue();
- item.setContents(value);
- }
-
- for (Object l : feedEntry.getOtherLinks()) {
- Link link = (Link)l;
- if (link.getRel() == null || "edit".equals(link.getRel())) {
- String href = link.getHref();
- if (href.startsWith("null/")) {
- href = href.substring(5);
- }
- item.setLink(href);
- break;
- }
- }
-
- item.setDate(feedEntry.getCreated());
-
- return new org.apache.tuscany.sca.data.collection.Entry<Object, Object>(key, item);
-
- } else {
- String key = feedEntry.getId();
-
- // Create the item from XML
- List<?> contents = feedEntry.getContents();
- if (contents.isEmpty()) {
- return null;
- }
- Content content = (Content)contents.get(0);
- String value = content.getValue();
- Object data = mediator.mediate(value, itemXMLType, itemClassType, null);
-
- return new org.apache.tuscany.sca.data.collection.Entry<Object, Object>(key, data);
- }
- } else {
- return null;
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
- IOException {
-
- // Authenticate the user
- String user = processAuthorizationHeader(request);
- if (user == null) {
- unauthorized(response);
- return;
- }
-
- // Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
-
- if (path == null || path.length() == 0 || path.equals("/")) {
- Entry createdFeedEntry = null;
-
- // Create a new Atom entry
- String contentType = request.getContentType();
- if (contentType != null && contentType.startsWith("application/atom+xml")) {
-
- // Read the entry from the request
- Entry feedEntry;
- try {
- feedEntry = AtomFeedEntryUtil.readFeedEntry(feedType, request.getReader());
- } catch (JDOMException e) {
- throw new ServletException(e);
- } catch (FeedException e) {
- throw new ServletException(e);
- }
-
- // Let the component implementation create it
- if (supportsFeedEntries) {
-
- // The service implementation supports feed entries, pass the entry to it
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {feedEntry});
- Message responseMessage = postInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- createdFeedEntry = responseMessage.getBody();
- } else {
-
- // The service implementation does not support feed entries, pass the data item to it
- Message requestMessage = messageFactory.createMessage();
- org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry = createEntry(feedEntry);
- requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()});
- Message responseMessage = postInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- entry.setKey(responseMessage.getBody());
- createdFeedEntry = createFeedEntry(entry);
- }
-
- } else if (contentType != null) {
-
- // Create a new media entry
-
- // Get incoming headers
- String title = request.getHeader("Title");
- String slug = request.getHeader("Slug");
-
- // Let the component implementation create the media entry
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {title, slug, contentType, request.getInputStream()});
- Message responseMessage = postMediaInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- createdFeedEntry = responseMessage.getBody();
- } else {
- response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
- }
-
- // A new entry was created successfully
- if (createdFeedEntry != null) {
-
- // Set location of the created entry in the Location header
- for (Object l : createdFeedEntry.getOtherLinks()) {
- Link link = (Link)l;
- if (link.getRel() == null || "edit".equals(link.getRel())) {
- response.addHeader("Location", link.getHref());
- break;
- }
- }
-
- // Write the created Atom entry
- response.setStatus(HttpServletResponse.SC_CREATED);
- response.setContentType("application/atom+xml; charset=utf-8");
- try {
- AtomFeedEntryUtil.writeFeedEntry(createdFeedEntry, feedType, getWriter(response));
- } catch (FeedException e) {
- throw new ServletException(e);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
-
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- private Writer getWriter(HttpServletResponse response) throws UnsupportedEncodingException, IOException {
- Writer writer = new OutputStreamWriter(response.getOutputStream(), "UTF-8");
- return writer;
- }
-
- @Override
- protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- // Authenticate the user
- String user = processAuthorizationHeader(request);
- if (user == null) {
- unauthorized(response);
- return;
- }
-
- // Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
-
- if (path != null && path.startsWith("/")) {
- String id = path.substring(1);
-
- // Update an Atom entry
- String contentType = request.getContentType();
- if (contentType != null && contentType.startsWith("application/atom+xml")) {
-
- // Read the entry from the request
- Entry feedEntry;
- try {
- feedEntry = AtomFeedEntryUtil.readFeedEntry(feedType, request.getReader());
- } catch (JDOMException e) {
- throw new ServletException(e);
- } catch (FeedException e) {
- throw new ServletException(e);
- }
-
- // Let the component implementation create it
- if (supportsFeedEntries) {
-
- // The service implementation supports feed entries, pass the entry to it
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {id, feedEntry});
- Message responseMessage = putInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- Object body = responseMessage.getBody();
- if (body.getClass().getName().endsWith(".NotFoundException")) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- }
- } else {
-
- // The service implementation does not support feed entries, pass the data item to it
- Message requestMessage = messageFactory.createMessage();
- org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry = createEntry(feedEntry);
- requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()});
- Message responseMessage = putInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- Object body = responseMessage.getBody();
- if (body.getClass().getName().endsWith(".NotFoundException")) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- }
- }
-
- } else if (contentType != null) {
-
- // Updated a media entry
-
- // Let the component implementation create the media entry
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {id, contentType, request.getInputStream()});
- Message responseMessage = putMediaInvoker.invoke(requestMessage);
- Object body = responseMessage.getBody();
- if (responseMessage.isFault()) {
- if (body.getClass().getName().endsWith(".NotFoundException")) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- }
- } else {
- response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- @Override
- protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException,
- IOException {
-
- // Authenticate the user
- String user = processAuthorizationHeader(request);
- if (user == null) {
- unauthorized(response);
- return;
- }
-
- // Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
-
- String id;
- if (path != null && path.startsWith("/")) {
- id = path.substring(1);
- } else {
- id = "";
- }
-
- // Delete a specific entry from the collection
- Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {id});
- Message responseMessage = deleteInvoker.invoke(requestMessage);
- if (responseMessage.isFault()) {
- Object body = responseMessage.getBody();
- if (body.getClass().getName().endsWith(".NotFoundException")) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else {
- throw new ServletException((Throwable)responseMessage.getBody());
- }
- }
- }
-
- /**
- * Process the authorization header
- *
- * @param request
- * @return
- * @throws ServletException
- */
- private String processAuthorizationHeader(HttpServletRequest request) throws ServletException {
- try {
- String authorization = request.getHeader("Authorization");
- if (authorization != null) {
- StringTokenizer tokens = new StringTokenizer(authorization);
- if (tokens.hasMoreTokens()) {
- String basic = tokens.nextToken();
- if (basic.equalsIgnoreCase("Basic")) {
- String credentials = tokens.nextToken();
- String userAndPassword = new String(Base64.decodeBase64(credentials.getBytes()));
- int colon = userAndPassword.indexOf(":");
- if (colon != -1) {
- String user = userAndPassword.substring(0, colon);
- String password = userAndPassword.substring(colon + 1);
-
- // Authenticate the User.
- if (authenticate(user, password)) {
- return user;
- }
- }
- }
- }
- }
- } catch (Exception e) {
- throw new ServletException(e);
- }
- return null;
- }
-
- /**
- * Authenticate a user.
- *
- * @param user
- * @param password
- * @return
- */
- private boolean authenticate(String user, String password) {
-
- // TODO Handle this using SCA security policies
- //FIXME Why are we using endsWith instead of equals here??
- return ("admin".endsWith(user) && "admin".equals(password));
- }
-
- /**
- * Reject an unauthorized request.
- *
- * @param response
- */
- private void unauthorized(HttpServletResponse response) throws IOException {
- response.setHeader("WWW-Authenticate", "BASIC realm=\"Tuscany\"");
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java
deleted file mode 100644
index c5bd3ec009..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.logging.Logger;
-
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.invocation.DataExchangeSemantics;
-
-import com.sun.syndication.feed.atom.Feed;
-import com.sun.syndication.feed.synd.SyndFeed;
-import com.sun.syndication.io.FeedException;
-import com.sun.syndication.io.SyndFeedInput;
-import com.sun.syndication.io.WireFeedInput;
-import com.sun.syndication.io.XmlReader;
-
-/**
- * Invoker for the RSS binding.
- *
- * @version $Rev$ $Date$
- */
-class RSSBindingInvoker implements Invoker, DataExchangeSemantics {
- private static final Logger logger = Logger.getLogger(RSSBindingInvoker.class.getName());
-
- private String feedType;
- private String uri;
-
- RSSBindingInvoker(String uri, String feedType) {
- this.uri = uri;
- this.feedType = feedType;
- }
-
- public Message invoke(Message msg) {
- try {
- logger.info(">>> RSSBindingInvoker (" + feedType + ") " + uri);
-
- // Read the configured feed URI into a Feed object
- Feed feed;
- if (feedType.startsWith("atom_")) {
-
- // Read an Atom feed
- WireFeedInput input = new WireFeedInput();
- feed = (Feed)input.build(new XmlReader(new URL(uri)));
- } else {
-
- // Read an RSS feed and convert it to an Atom feed
- SyndFeedInput input = new SyndFeedInput();
- SyndFeed syndFeed = input.build(new XmlReader(new URL(uri)));
- feed = (Feed)syndFeed.createWireFeed("atom_1.0");
- }
-
- //FIXME Support conversion to data-api entries
-
- msg.setBody(feed);
-
- } catch (MalformedURLException e) {
- msg.setFaultBody(e);
- } catch (IllegalArgumentException e) {
- msg.setFaultBody(e);
- } catch (FeedException e) {
- msg.setFaultBody(e);
- } catch (IOException e) {
- msg.setFaultBody(e);
- }
- return msg;
- }
-
- public boolean allowsPassByReference() {
- return true;
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java
deleted file mode 100644
index f4c336e12b..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import org.apache.tuscany.sca.binding.feed.RSSBinding;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.databinding.TransformerExtensionPoint;
-import org.apache.tuscany.sca.databinding.impl.MediatorImpl;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * Implementation of the RSS binding provider factory.
- *
- * @version $Rev$ $Date$
- */
-public class RSSBindingProviderFactory implements BindingProviderFactory<RSSBinding> {
-
- private MessageFactory messageFactory;
- private Mediator mediator;
- private ServletHost servletHost;
-
- public RSSBindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
- this.servletHost = servletHosts.getServletHosts().get(0);
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- this.messageFactory = modelFactories.getFactory(MessageFactory.class);
- this.mediator = new MediatorImpl(extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class),
- extensionPoints.getExtensionPoint(TransformerExtensionPoint.class));
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- RSSBinding binding) {
- return new RSSReferenceBindingProvider(component, reference, binding);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- RSSBinding binding) {
- return new RSSServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator);
- }
-
- public Class<RSSBinding> getModelType() {
- return RSSBinding.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java
deleted file mode 100644
index 278ed9cb7e..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import org.apache.tuscany.sca.binding.feed.RSSBinding;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-/**
- * Implementation of the RSS binding provider.
- *
- * @version $Rev$ $Date$
- */
-class RSSReferenceBindingProvider implements ReferenceBindingProvider {
-
- private RuntimeComponentReference reference;
- private RSSBinding binding;
-
- RSSReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- RSSBinding binding) {
- this.reference = reference;
- this.binding = binding;
- }
-
- public Invoker createInvoker(Operation operation) {
- return new RSSBindingInvoker(binding.getURI(), "rss_2.0");
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return reference.getInterfaceContract();
- }
-
- public void start() {
- }
-
- public void stop() {
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java b/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java
deleted file mode 100644
index 779b28cef6..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed.provider;
-
-import org.apache.tuscany.sca.binding.feed.RSSBinding;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * Implementation of the RSS binding provider.
- *
- * @version $Rev$ $Date$
- */
-class RSSServiceBindingProvider implements ServiceBindingProvider {
-
- private RuntimeComponentService service;
- private RSSBinding binding;
- private ServletHost servletHost;
- private MessageFactory messageFactory;
- private String servletMapping;
- private Mediator mediator;
-
- RSSServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- RSSBinding binding,
- ServletHost servletHost,
- MessageFactory messageFactory,
- Mediator mediator) {
- this.service = service;
- this.binding = binding;
- this.servletHost = servletHost;
- this.messageFactory = messageFactory;
- this.mediator = mediator;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return service.getInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- RuntimeComponentService componentService = (RuntimeComponentService)service;
- RuntimeWire wire = componentService.getRuntimeWire(binding);
-
- FeedBindingListenerServlet servlet =
- new FeedBindingListenerServlet(wire, messageFactory, mediator, "rss_2.0");
-
- servletMapping = binding.getURI();
- servletHost.addServletMapping(servletMapping, servlet);
-
- // Save the actual binding URI in the binding
- binding.setURI(servletHost.getURLMapping(binding.getURI()).toString());
- }
-
- public void stop() {
- servletHost.removeServletMapping(servletMapping);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory b/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory
deleted file mode 100644
index 49478e3db0..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the model factory
-org.apache.tuscany.sca.binding.feed.impl.AtomBindingFactoryImpl \ No newline at end of file
diff --git a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory b/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory
deleted file mode 100644
index f69b024da9..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the model factory
-org.apache.tuscany.sca.binding.feed.impl.RSSBindingFactoryImpl \ No newline at end of file
diff --git a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 3f073b28b9..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.atom,model=org.apache.tuscany.sca.binding.feed.AtomBinding,factory=org.apache.tuscany.sca.binding.feed.AtomBindingFactory
-org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.rss,model=org.apache.tuscany.sca.binding.feed.RSSBinding,factory=org.apache.tuscany.sca.binding.feed.RSSBindingFactory
diff --git a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
deleted file mode 100644
index f81a0d33ae..0000000000
--- a/branches/sca-android/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.feed.provider.AtomBindingProviderFactory;model=org.apache.tuscany.sca.binding.feed.AtomBinding
-org.apache.tuscany.sca.binding.feed.provider.RSSBindingProviderFactory;model=org.apache.tuscany.sca.binding.feed.RSSBinding
diff --git a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java b/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java
deleted file mode 100644
index 4a33637121..0000000000
--- a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Consumer {
-
- public static void main(String[] args) throws Exception {
-
- SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/feed/Consumer.composite");
-
- CustomerClient testService = scaDomain.getService(CustomerClient.class, "CustomerClient");
- testService.testCustomerCollection();
-
- scaDomain.close();
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java b/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java
deleted file mode 100644
index b7416011ba..0000000000
--- a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-public interface CustomerClient {
-
- void testCustomerCollection() throws Exception;
-}
diff --git a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java b/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java
deleted file mode 100644
index 884e954036..0000000000
--- a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.feed.collection.Collection;
-import org.osoa.sca.annotations.Reference;
-
-import com.sun.syndication.feed.atom.Content;
-import com.sun.syndication.feed.atom.Entry;
-import com.sun.syndication.feed.atom.Feed;
-
-public class CustomerClientImpl implements CustomerClient {
-
- @Reference
- public Collection resourceCollection;
-
- public void testCustomerCollection() throws Exception {
-
- Entry newEntry = newEntry("Sponge Bob");
- System.out.println(">>> post entry=" + newEntry.getTitle());
- newEntry = resourceCollection.post(newEntry);
- System.out.println("<<< post id=" + newEntry.getId() + " entry=" + newEntry.getTitle());
-
- newEntry = newEntry("Jane Bond");
- System.out.println(">>> post entry=" + newEntry.getTitle());
- newEntry = resourceCollection.post(newEntry);
- System.out.println("<<< post id=" + newEntry.getId() + " entry=" + newEntry.getTitle());
-
- System.out.println(">>> get id=" + newEntry.getId());
- Entry entry = resourceCollection.get(newEntry.getId());
- System.out.println("<<< get id=" + entry.getId() + " entry=" + entry.getTitle());
-
- System.out.println(">>> put id=" + newEntry.getId() + " entry=" + entry.getTitle());
- resourceCollection.put(entry.getId(), updateEntry(entry, "James Bond"));
- System.out.println("<<< put id=" + entry.getId() + " entry=" + entry.getTitle());
-
- System.out.println(">>> delete id=" + entry.getId());
- resourceCollection.delete(entry.getId());
- System.out.println("<<< delete id=" + entry.getId());
-
- System.out.println(">>> get collection");
- Feed feed = resourceCollection.getFeed();
- System.out.println("<<< get collection");
- for (Object o : feed.getEntries()) {
- Entry e = (Entry)o;
- System.out.println("id = " + e.getId() + " entry = " + e.getTitle());
- }
- }
-
- private Entry newEntry(String value) {
-
- Entry entry = new Entry();
- entry.setTitle("customer " + value);
-
- Content content = new Content();
- content.setValue(value);
- content.setType(Content.TEXT);
- List<Object> list = new ArrayList<Object>();
- list.add(content);
- entry.setContents(list);
-
- return entry;
- }
-
- private Entry updateEntry(Entry entry, String value) {
-
- entry.setTitle("customer " + value);
- Content content = new Content();
- content.setValue(value);
- content.setType(Content.TEXT);
- List<Object> list = new ArrayList<Object>();
- list.add(content);
- entry.setContents(list);
-
- return entry;
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java b/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java
deleted file mode 100644
index ca4a5a1946..0000000000
--- a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import org.apache.tuscany.sca.binding.feed.collection.Collection;
-import org.osoa.sca.annotations.Scope;
-
-import com.sun.syndication.feed.atom.Content;
-import com.sun.syndication.feed.atom.Entry;
-import com.sun.syndication.feed.atom.Feed;
-import com.sun.syndication.feed.atom.Link;
-
-@Scope("COMPOSITE")
-public class CustomerCollectionImpl implements Collection {
-
- private Map<String, Entry> entries = new HashMap<String, Entry>();
-
- public CustomerCollectionImpl() {
-
- for (int i = 0; i < 4; i++) {
- String id = "urn:uuid:customer-" + UUID.randomUUID().toString();
-
- Entry entry = new Entry();
- entry.setTitle("customer " + "Jane Doe_" + String.valueOf(i));
- entry.setId(id);
-
- Content content = new Content();
- content.setValue("Jane Doe_" + String.valueOf(i));
- content.setType(Content.TEXT);
- entry.setContents(Collections.singletonList(content));
-
- List<Link> links = new ArrayList<Link>();
- Link link = new Link();
- link.setRel("edit");
- link.setHref("" + id);
- links.add(link);
- entry.setOtherLinks(links);
-
- links = new ArrayList<Link>();
- link = new Link();
- link.setRel("alternate");
- link.setHref("" + id);
- links.add(link);
- entry.setAlternateLinks(links);
-
- entry.setCreated(new Date());
-
- entries.put(id, entry);
- System.out.println(">>> id=" + id);
- }
- }
-
- public Entry post(Entry entry) {
- System.out.println(">>> ResourceCollectionImpl.post entry=" + entry.getTitle());
-
- String id = "urn:uuid:customer-" + UUID.randomUUID().toString();
- entry.setId(id);
-
- List<Link> links = new ArrayList<Link>();
- Link link = new Link();
- link.setRel("edit");
- link.setHref("" + id);
- links.add(link);
- entry.setOtherLinks(links);
-
- links = new ArrayList<Link>();
- link = new Link();
- link.setRel("alternate");
- link.setHref("" + id);
- links.add(link);
- entry.setAlternateLinks(links);
-
- entry.setCreated(new Date());
-
- entries.put(id, entry);
- System.out.println(">>> ResourceCollectionImpl.post return id=" + id);
-
- return entry;
- }
-
- public Entry get(String id) {
- System.out.println(">>> ResourceCollectionImpl.get id=" + id);
- return entries.get(id);
- }
-
- public void put(String id, Entry entry) {
- System.out.println(">>> ResourceCollectionImpl.put id=" + id + " entry=" + entry.getTitle());
-
- entry.setUpdated(new Date());
- entries.put(id, entry);
- }
-
- public void delete(String id) {
- System.out.println(">>> ResourceCollectionImpl.delete id=" + id);
- entries.remove(id);
- }
-
- @SuppressWarnings("unchecked")
- public Feed getFeed() {
- System.out.println(">>> ResourceCollectionImpl.get collection");
-
- Feed feed = new Feed();
- feed.setTitle("customers");
- Content subtitle = new Content();
- subtitle.setValue("This is a sample feed");
- feed.setSubtitle(subtitle);
- feed.getEntries().addAll(entries.values());
- return feed;
- }
-
-}
diff --git a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java b/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java
deleted file mode 100644
index a9ddc1a2c8..0000000000
--- a/branches/sca-android/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.feed;
-
-import java.io.IOException;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Provider {
-
- public static void main(String[] args) {
-
- SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/feed/Provider.composite");
- System.out.println("Provider.composite ready...");
-
- try {
- System.in.read();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- scaDomain.close();
- }
-}
diff --git a/branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite b/branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite
deleted file mode 100644
index 1987c042e6..0000000000
--- a/branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://customer"
- name="Consumer">
-
- <component name="CustomerClient">
- <implementation.java class="org.apache.tuscany.sca.binding.feed.CustomerClientImpl"/>
- <reference name="resourceCollection">
- <tuscany:binding.atom uri="http://localhost:8084/customer"/>
- </reference>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite b/branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite
deleted file mode 100644
index 9268fbe211..0000000000
--- a/branches/sca-android/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace = "http://customer"
- name="Provider">
-
- <service name="customer" promote="CustomerCollection">
- <tuscany:binding.atom uri = "http://localhost:8084/customer"/>
- </service>
-
- <component name="CustomerCollection">
- <implementation.java class="org.apache.tuscany.sca.binding.feed.CustomerCollectionImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/binding-notification/LICENSE b/branches/sca-android/modules/binding-notification/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/binding-notification/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/binding-notification/META-INF/README b/branches/sca-android/modules/binding-notification/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-notification/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-notification/NOTICE b/branches/sca-android/modules/binding-notification/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/binding-notification/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/binding-notification/pom.xml b/branches/sca-android/modules/binding-notification/pom.xml
deleted file mode 100644
index 43ae0a2552..0000000000
--- a/branches/sca-android/modules/binding-notification/pom.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-notification</artifactId>
- <name>Apache Tuscany SCA Notification Binding Extension</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding-axiom</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- <exclusions>
- <exclusion>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </exclusion>
- </exclusions>
- <version>1.2.5</version>
- </dependency>
-
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.8.1</version>
- <scope>runtime</scope>
- </dependency>
- <!-- test dependencies -->
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- <version>1.2.5</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.notification</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.notification*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java
deleted file mode 100644
index 8e6a78551a..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-/**
- * Creates runtime artifacts for the notification binding
- *
- * @version $Rev$ $Date$
- */
-public class DefaultNotificationBindingFactory implements NotificationBindingFactory {
-
- public NotificationBinding createNotificationBinding() {
- return new NotificationBindingImpl();
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java
deleted file mode 100644
index 940a69784b..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-
-import org.apache.tuscany.sca.assembly.Binding;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationBinding extends Binding {
-
- String getNtmAddress();
-
- void setNtmAddress(String ntm);
-
- URI getNotificationType();
-
- void setNotificationType(URI notificationType);
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java
deleted file mode 100644
index 31a8b26c02..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationBindingFactory {
-
- NotificationBinding createNotificationBinding();
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java
deleted file mode 100644
index f4c210ba7c..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationBindingImpl implements NotificationBinding {
- private String name;
- private String uri;
- protected String ntmAddress;
- protected URI notificationType;
-
- @Override
- public Object clone() {
- return this;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public String getNtmAddress() {
- return ntmAddress;
- }
-
- public void setNtmAddress(String ntmAddress) {
- this.ntmAddress = ntmAddress;
- }
-
- public URI getNotificationType() {
- return notificationType;
- }
-
- public void setNotificationType(URI notificationType) {
- this.notificationType = notificationType;
- }
-
- public void setUnresolved(boolean unresolved) {
- }
-
- public boolean isUnresolved() {
- return false;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java
deleted file mode 100644
index 7fdeee189b..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.binding.notification.encoding.DefaultEncodingRegistry;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ModuleActivator;
-import org.apache.tuscany.sca.host.http.ExtensibleServletHost;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationBindingModuleActivator implements ModuleActivator {
-
- private NotificationBindingProcessor bindingProcessor;
-
- private DefaultEncodingRegistry encodingRegistry;
- private ServletHost servletHost;
-
-
- public void start(ExtensionPointRegistry registry) {
- encodingRegistry = new DefaultEncodingRegistry();
- servletHost = new ExtensibleServletHost(registry.getExtensionPoint(ServletHostExtensionPoint.class));
-
- AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
- PolicyFactory policyFactory = new DefaultPolicyFactory();
- DefaultNotificationBindingFactory bindingFactory = new DefaultNotificationBindingFactory();
- bindingProcessor = new NotificationBindingProcessor(assemblyFactory, policyFactory, bindingFactory);
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- processors.addArtifactProcessor(bindingProcessor);
-
- NotificationBindingProviderFactory nbpf = new NotificationBindingProviderFactory(servletHost,
- encodingRegistry);
- ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class);
- providerFactories.addProviderFactory(nbpf);
- }
-
- public void stop(ExtensionPointRegistry registry) {
- encodingRegistry.stop();
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- processors.removeArtifactProcessor(bindingProcessor);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java
deleted file mode 100644
index 892700779f..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationBindingProcessor implements StAXArtifactProcessor<NotificationBinding> {
-
- protected static final QName BINDING_NOTIFICATION = new QName(Constants.SCA10_TUSCANY_NS, "binding.notification");
-
- private NotificationBindingFactory bindingFactory;
-
- public NotificationBindingProcessor(AssemblyFactory assemblyFactory,
- PolicyFactory policyFactory,
- NotificationBindingFactory bindingFactory) {
- this.bindingFactory = bindingFactory;
- }
-
- public QName getArtifactType() {
- return BINDING_NOTIFICATION;
- }
-
- public Class<NotificationBinding> getModelType() {
- return NotificationBinding.class;
- }
-
- public NotificationBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- assert BINDING_NOTIFICATION.equals(reader.getName());
- String bindingUri = reader.getAttributeValue(null, "uri");
- String name = reader.getAttributeValue(null, "name");
- String ntm = reader.getAttributeValue(null, "ntm");
- String notificationType = reader.getAttributeValue(null, "notificationType");
-
- NotificationBinding binding = bindingFactory.createNotificationBinding();
- if (name != null) {
- binding.setName(name);
- }
- if (bindingUri != null) {
- binding.setURI(bindingUri);
- }
- if (ntm != null) {
- binding.setNtmAddress(ntm);
- }
- if (notificationType != null) {
- try {
- binding.setNotificationType(new URI(notificationType));
- } catch(URISyntaxException e) {
- throw new ContributionReadException(e);
- }
- }
- return binding;
- }
-
- public void write(NotificationBinding notificationBinding, XMLStreamWriter writer)
- throws ContributionWriteException, XMLStreamException {
-
- //FIXME Implement this method
- }
-
- public void resolve(NotificationBinding notificationBinding, ModelResolver resolver) throws ContributionResolveException {
- }
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java
deleted file mode 100644
index e5ea616fdb..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.net.InetAddress;
-import java.net.URI;
-import java.net.URL;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sca.binding.notification.encoding.AbstractEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerConsumerReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerIDEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerProducerReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverrideEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverrideResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ConsumerReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EndConsumersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EndProducersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointAddressEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NeighborBrokerConsumersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NeighborsEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerAckEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumerResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducerResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ReferencePropertiesEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.RemoveBrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.RemovedBrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ReplaceBrokerConnectionEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.SubscribeEnDeCoder;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * The runtime representation of the notification reference binding
- *
- * @version $Rev$ $Date$
- */
-public class NotificationBindingProviderFactory implements BindingProviderFactory<NotificationBinding>,
- NotificationBrokerManager {
- private static final String DEFAULT_PORT = "8083";
-
- private ServletHost servletHost;
- private NotificationTypeManagerImpl notificationTypeManager;
- private EncodingRegistry encodingRegistry;
- private String httpUrl;
- private Map<URI, NotificationReferenceBindingProvider> referenceBindingProviders;
- private Map<URI, NotificationServiceBindingProvider> serviceBindingProviders;
-
- private static NotificationBindingProviderFactory factoryInstance = null;
-
- public NotificationBindingProviderFactory(ServletHost servletHost, EncodingRegistry encodingRegistry) {
- this.servletHost = servletHost;
- this.encodingRegistry = encodingRegistry;
- this.referenceBindingProviders = new HashMap<URI, NotificationReferenceBindingProvider>();
- this.serviceBindingProviders = new HashMap<URI, NotificationServiceBindingProvider>();
-
- factoryInstance = this;
- }
-
- public Class<NotificationBinding> getModelType() {
- return NotificationBinding.class;
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- NotificationBinding binding) {
- init();
- URI notificationType = binding.getNotificationType();
- if (!validReferenceBinding(binding)) {
- throw new RuntimeException("Binding not valid");
- }
- NotificationReferenceBindingProvider referenceBindingProvider = referenceBindingProviders.get(notificationType);
- if (referenceBindingProvider == null) {
- referenceBindingProvider =
- new NotificationReferenceBindingProvider(binding, component, reference, servletHost,
- notificationTypeManager, encodingRegistry, httpUrl, this);
- referenceBindingProviders.put(notificationType, referenceBindingProvider);
- }
- return referenceBindingProvider;
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- NotificationBinding binding) {
- init();
- URI notificationType = binding.getNotificationType();
- if (!validServiceBinding(binding)) {
- throw new RuntimeException("Binding not valid");
- }
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider == null) {
- serviceBindingProvider =
- new NotificationServiceBindingProvider(binding, component, service, servletHost,
- notificationTypeManager, encodingRegistry, httpUrl, this);
- serviceBindingProviders.put(notificationType, serviceBindingProvider);
- }
- return serviceBindingProvider;
- }
-
- private boolean validServiceBinding(NotificationBinding binding) {
- URI notificationType = binding.getNotificationType();
- NotificationReferenceBindingProvider referenceBindingProvider = referenceBindingProviders.get(notificationType);
- if (referenceBindingProvider != null) {
- return validBinding(binding, referenceBindingProvider.getBinding());
- }
- return true;
- }
-
- private boolean validReferenceBinding(NotificationBinding binding) {
- URI notificationType = binding.getNotificationType();
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider != null) {
- return validBinding(binding, serviceBindingProvider.getBinding());
- }
- return true;
- }
-
- private boolean validBinding(NotificationBinding binding1, NotificationBinding binding2) {
- String binding1NtmAddress = binding1.getNtmAddress();
- String binding2NtmAddress = binding2.getNtmAddress();
- if (binding1NtmAddress == null && binding2NtmAddress == null) {
- return true;
- } else if (binding1NtmAddress == null || binding2NtmAddress == null) {
- return false;
- } else {
- return binding1NtmAddress.equals(binding2NtmAddress);
- }
- }
-
- /*
- * These methods are intended to be called by the binding providers' start
- * methods. By the time this happens, both referenceBindingProvider != null &&
- * serviceBindingProvider != null, if they are ever going to be
- */
- public void serviceProviderStarted(URI notificationType,
- NotificationServiceBindingProvider serviceBindingProvider,
- URL remoteNtmUrl) {
- NotificationReferenceBindingProvider referenceBindingProvider = referenceBindingProviders.get(notificationType);
- if (referenceBindingProvider == null) {
- serviceBindingProvider.deployConsumer();
- } else if (referenceBindingProvider.isStarted()) {
- String brokerID = BrokerID.generate();
- deployBroker(notificationType, serviceBindingProvider, referenceBindingProvider, brokerID, remoteNtmUrl);
- }
- }
-
- public void referenceProviderStarted(URI notificationType,
- NotificationReferenceBindingProvider referenceBindingProvider,
- URL remoteNtmUrl) {
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider == null) {
- referenceBindingProvider.deployProducer();
- } else if (serviceBindingProvider.isStarted()) {
- String brokerID = BrokerID.generate();
- deployBroker(notificationType, serviceBindingProvider, referenceBindingProvider, brokerID, remoteNtmUrl);
- }
- }
-
- private void deployBroker(URI notificationType,
- NotificationServiceBindingProvider serviceBindingProvider,
- NotificationReferenceBindingProvider referenceBindingProvider,
- String brokerID,
- URL remoteNtmUrl) {
- URL consumerUrl = serviceBindingProvider.getURL();
- URL producerUrl = referenceBindingProvider.getURL();
- List<EndpointReference> consumerList = new ArrayList<EndpointReference>();
- List<EndpointReference> producerList = new ArrayList<EndpointReference>();
- boolean firstBroker =
- notificationTypeManager.newBroker(notificationType,
- consumerUrl,
- producerUrl,
- brokerID,
- remoteNtmUrl,
- consumerList,
- producerList);
- if (firstBroker) {
- serviceBindingProvider.deployBroker(brokerID, null, producerList);
- referenceBindingProvider.deployBroker(brokerID, null, consumerList);
- if (!consumerList.isEmpty() || !producerList.isEmpty()) {
- notificationTypeManager.newBrokerAck(remoteNtmUrl);
- }
- } else {
- // returned lists contain broker consumers and producers and are the
- // same length
- int index = consumerList.size() - 1;
- // establish connection with picked broker
- EndpointReference brokerConsumerEPR = consumerList.get(index);
- EndpointReference brokerProducerEPR = producerList.get(index);
- serviceBindingProvider.deployBroker(brokerID, brokerProducerEPR, null);
- referenceBindingProvider.deployBroker(brokerID, brokerConsumerEPR, null);
- }
- }
-
- public void replaceConsumersBrokerConnection(URI notificationType, EndpointReference chosenBrokerProducerEpr) {
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider == null) {
- throw new RuntimeException("Missing service binding provider for [" + notificationType + "]");
- }
- serviceBindingProvider.replaceBrokerConnection(chosenBrokerProducerEpr);
- }
-
- public static void removeBroker(URI notificationType) {
- if (factoryInstance == null) {
- throw new RuntimeException("Missing factory instance");
- }
- NotificationReferenceBindingProvider referenceBindingProvider =
- factoryInstance.referenceBindingProviders.get(notificationType);
- NotificationServiceBindingProvider serviceBindingProvider =
- factoryInstance.serviceBindingProviders.get(notificationType);
- if (referenceBindingProvider == null || serviceBindingProvider == null) {
- throw new RuntimeException("Not a broker for [" + notificationType + "]");
- }
- referenceBindingProvider.undeployBroker(serviceBindingProvider.getURL());
- }
-
- private String getBaseURI() {
- if (httpUrl == null) {
- // Allow priviledged access to read system property. Requires PropertyPermision in security policy.
- String httpPort = AccessController.doPrivileged(new PrivilegedAction<String>() {
- public String run() {
- return System.getProperty("notification.httpPort");
- }
- });
-
- if (httpPort == null) {
- httpPort = DEFAULT_PORT;
- }
- String localHost = null;
- try {
- localHost = InetAddress.getLocalHost().getCanonicalHostName();
- } catch (Exception e) {
- e.printStackTrace();
- localHost = "localhost";
- }
- httpUrl = "http://" + localHost + ((httpPort != null) ? (":" + httpPort) : "");
- }
- return httpUrl;
- }
-
- @SuppressWarnings("unchecked")
- public void init() {
- if (notificationTypeManager == null) {
- AbstractEnDeCoder subscribeEnDeCoder = new SubscribeEnDeCoder(encodingRegistry);
- subscribeEnDeCoder.start();
- AbstractEnDeCoder consumerReferenceEnDeCoder = new ConsumerReferenceEnDeCoder(encodingRegistry);
- consumerReferenceEnDeCoder.start();
- AbstractEnDeCoder endpointAddressEnDeCoder = new EndpointAddressEnDeCoder(encodingRegistry);
- endpointAddressEnDeCoder.start();
- AbstractEnDeCoder newConsumerEnDeCoder = new NewConsumerEnDeCoder(encodingRegistry);
- newConsumerEnDeCoder.start();
- AbstractEnDeCoder newProducerEnDeCoder = new NewProducerEnDeCoder(encodingRegistry);
- newProducerEnDeCoder.start();
- AbstractEnDeCoder newConsumerResponseEnDeCoder = new NewConsumerResponseEnDeCoder(encodingRegistry);
- newConsumerResponseEnDeCoder.start();
- AbstractEnDeCoder newProducerResponseEnDeCoder = new NewProducerResponseEnDeCoder(encodingRegistry);
- newProducerResponseEnDeCoder.start();
- AbstractEnDeCoder newBrokerEnDeCoder = new NewBrokerEnDeCoder(encodingRegistry);
- newBrokerEnDeCoder.start();
- AbstractEnDeCoder brokerConsumerReferenceEnDeCoder = new BrokerConsumerReferenceEnDeCoder(encodingRegistry);
- brokerConsumerReferenceEnDeCoder.start();
- AbstractEnDeCoder brokerProducerReferenceEnDeCoder = new BrokerProducerReferenceEnDeCoder(encodingRegistry);
- brokerProducerReferenceEnDeCoder.start();
- AbstractEnDeCoder newBrokerResponseEnDeCoder = new NewBrokerResponseEnDeCoder(encodingRegistry);
- newBrokerResponseEnDeCoder.start();
- AbstractEnDeCoder brokersEnDeCoder = new BrokersEnDeCoder(encodingRegistry);
- brokersEnDeCoder.start();
- AbstractEnDeCoder brokerEnDeCoder = new BrokerEnDeCoder(encodingRegistry);
- brokerEnDeCoder.start();
- AbstractEnDeCoder endConsumersEnDeCoder = new EndConsumersEnDeCoder(encodingRegistry);
- endConsumersEnDeCoder.start();
- AbstractEnDeCoder endProducersEnDeCoder = new EndProducersEnDeCoder(encodingRegistry);
- endProducersEnDeCoder.start();
- AbstractEnDeCoder endpointReferenceEnDeCoder = new EndpointReferenceEnDeCoder(encodingRegistry);
- endpointReferenceEnDeCoder.start();
- AbstractEnDeCoder referencePropertiesEnDeCoder = new ReferencePropertiesEnDeCoder(encodingRegistry);
- referencePropertiesEnDeCoder.start();
- AbstractEnDeCoder brokerIDEnDeCoder = new BrokerIDEnDeCoder(encodingRegistry);
- brokerIDEnDeCoder.start();
- AbstractEnDeCoder connectionOverrideEnDeCoder = new ConnectionOverrideEnDeCoder(encodingRegistry);
- connectionOverrideEnDeCoder.start();
- AbstractEnDeCoder connectionOverrideResponseEnDeCoder =
- new ConnectionOverrideResponseEnDeCoder(encodingRegistry);
- connectionOverrideResponseEnDeCoder.start();
- AbstractEnDeCoder newBrokerAckEnDeCoder = new NewBrokerAckEnDeCoder(encodingRegistry);
- newBrokerAckEnDeCoder.start();
- AbstractEnDeCoder neighborBrokerConsumersEnDeCoder = new NeighborBrokerConsumersEnDeCoder(encodingRegistry);
- neighborBrokerConsumersEnDeCoder.start();
- AbstractEnDeCoder removeBrokerEnDeCoder = new RemoveBrokerEnDeCoder(encodingRegistry);
- removeBrokerEnDeCoder.start();
- AbstractEnDeCoder removedBrokerEnDeCoder = new RemovedBrokerEnDeCoder(encodingRegistry);
- removedBrokerEnDeCoder.start();
- AbstractEnDeCoder neighborsEnDeCoder = new NeighborsEnDeCoder(encodingRegistry);
- neighborsEnDeCoder.start();
- AbstractEnDeCoder replaceBrokerConnectionEnDeCoder = new ReplaceBrokerConnectionEnDeCoder(encodingRegistry);
- replaceBrokerConnectionEnDeCoder.start();
-
- notificationTypeManager = new NotificationTypeManagerImpl();
- notificationTypeManager.setServletHost(servletHost);
- notificationTypeManager.setEncodingRegistry(encodingRegistry);
- notificationTypeManager.init();
-
- getBaseURI();
- }
- }
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java
deleted file mode 100644
index 8a6d57e825..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URL;
-
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationBrokerManager {
-
- void serviceProviderStarted(URI notificationType,
- NotificationServiceBindingProvider serviceBindingProvider,
- URL remoteNtmUrl);
-
- void referenceProviderStarted(URI notificationType,
- NotificationReferenceBindingProvider referenceBindingProvider,
- URL remoteNtmUrl);
-
- void replaceConsumersBrokerConnection(URI notificationType, EndpointReference chosenBrokerProducerEpr);
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java
deleted file mode 100644
index 8980fa26ff..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.io.OutputStream;
-import java.util.HashMap;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.binding.notification.NotificationReferenceBindingProvider.SubscriberInfo;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.Writeable;
-import org.apache.tuscany.sca.implementation.notification.ImmutableMessage;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-
-/**
- * Turns invoke into remote message fan-out
- *
- * @version $Rev$ $Date$
- */
-public class NotificationReferenceBindingInvoker implements Invoker {
-
- private static final Message RESPONSE = new ImmutableMessage();
- private Operation operation;
-
- private NotificationReferenceBindingProvider notificationReferenceBindingProvider;
-
- public NotificationReferenceBindingInvoker(Operation operation,
- NotificationReferenceBindingProvider notificationReferenceBindingProvider) {
- this.operation = operation;
- this.notificationReferenceBindingProvider = notificationReferenceBindingProvider;
- }
-
- public Message invoke(Message msg) {
- Object payload = msg.getBody();
- if (payload == null) {
- throw new RuntimeException("Message body is null");
- }
- Writeable writeable = null;
- String incomingBrokerID = null;
- if (payload.getClass().isArray()) {
- Object[] bodyArray = (Object[])payload;
- if (bodyArray.length == 3) {
- writeable = getWriteableFromByteArray((byte[])bodyArray[1]);
- incomingBrokerID = (String)bodyArray[2];
- } else if (bodyArray.length == 1) {
- writeable = getWriteableFromPayload(bodyArray[0]);
- } else {
- throw new RuntimeException("Invalid body array size");
- }
- } else {
- writeable = getWriteableFromPayload(payload);
- }
-
- try {
- for (SubscriberInfo subscriber : notificationReferenceBindingProvider.getSubscribers()) {
- // check for each subscriber's broker id and skip if equal
- if (incomingBrokerID != null && subscriber.brokerID != null && incomingBrokerID.equals(subscriber.brokerID)) {
- continue;
- }
- HashMap<String, String> headers = new HashMap<String, String>();
- headers.put(IOUtils.Notification_Operation, operation.getName());
- String brokerID = notificationReferenceBindingProvider.getBrokerID();
- if (brokerID != null) {
- headers.put(Constants.Broker_ID, brokerID);
- }
- IOUtils.sendHttpRequest(subscriber.address, headers, writeable, null);
- }
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException("Sender caught exception", e);
- }
- return RESPONSE;
- }
-
- private Writeable getWriteableFromPayload(Object payload) throws RuntimeException {
- if (!(payload instanceof OMElement)) {
- throw new RuntimeException("payload not OMElement");
- }
- final OMElement element = (OMElement)payload;
- Writeable writeable = new Writeable() {
- public void write(OutputStream os) throws IOUtilsException {
- try {
- element.serialize(os);
- os.flush();
- } catch(Exception e) {
- throw new IOUtilsException(e);
- }
- }
- };
- return writeable;
- }
-
- private Writeable getWriteableFromByteArray(final byte[] payload) {
- Writeable writeable = new Writeable() {
- public void write(OutputStream os) throws IOUtilsException {
- try {
- os.write(payload);
- os.flush();
- } catch(Exception e) {
- throw new IOUtilsException(e);
- }
- }
- };
- return writeable;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java
deleted file mode 100644
index c1a8162836..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.binding.notification.encoding.Broker;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverride;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingObject;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingUtils;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.ReplaceBrokerConnection;
-import org.apache.tuscany.sca.binding.notification.encoding.Subscribe;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet;
-import org.apache.tuscany.sca.binding.notification.util.URIUtil;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet.NotificationServletStreamHandler;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.Interface;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-/**
- * The runtime representation of the notification reference binding
- *
- * @version $Rev$ $Date$
- */
-public class NotificationReferenceBindingProvider
- implements ReferenceBindingProvider, NotificationServletStreamHandler {
-
- private static final String producerPathBase = "/producer";
- private NotificationReferenceBindingInvoker invoker;
- private RuntimeComponentReference reference;
- private NotificationBinding notificationBinding;
- private ServletHost servletHost;
- private NotificationTypeManager ntm;
- private EncodingRegistry encodingRegistry;
- private URI notificationType;
- private URL myUrl;
- private URL remoteNtmUrl;
- private boolean started;
- private NotificationBrokerManager brokerManager;
-
- private List<SubscriberInfo> subscribers;
- private String brokerID;
-
- public NotificationReferenceBindingProvider(NotificationBinding notificationBinding,
- RuntimeComponent component,
- RuntimeComponentReference reference,
- ServletHost servletHost,
- NotificationTypeManager ntm,
- EncodingRegistry encodingRegistry,
- String httpUrl,
- NotificationBrokerManager brokerManager) {
- this.invoker = null;
- this.notificationBinding = notificationBinding;
- this.reference = reference;
- this.servletHost = servletHost;
- this.ntm = ntm;
- this.encodingRegistry = encodingRegistry;
- this.notificationType = notificationBinding.getNotificationType();
- String ntmAddress = notificationBinding.getNtmAddress();
- String notificationTypePath = URIUtil.getPath(notificationType);
- try {
- this.myUrl = new URL(httpUrl + producerPathBase + notificationTypePath);
- this.remoteNtmUrl = null;
- if (ntmAddress != null && notificationType != null) {
- remoteNtmUrl = new URL(ntmAddress + notificationTypePath);
- }
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- this.started = false;
- this.brokerManager = brokerManager;
-
- URI uri = URI.create(component.getURI() + "/" + notificationBinding.getName());
- notificationBinding.setURI(uri.toString());
- Interface interfaze = reference.getInterfaceContract().getInterface();
- interfaze.resetDataBinding(OMElement.class.getName());
- for (Operation operation : interfaze.getOperations()) {
- operation.setNonBlocking(false);
- }
-
- this.subscribers = new ArrayList<SubscriberInfo>();
- this.brokerID = null;
- }
-
- public NotificationBinding getBinding() {
- return notificationBinding;
- }
-
- public URL getURL() {
- return myUrl;
- }
-
- public boolean isStarted() {
- return started;
- }
-
- public void setBrokerID(String brokerID) {
- this.brokerID = brokerID;
- }
-
- public String getBrokerID() {
- return brokerID;
- }
-
- public Invoker createInvoker(Operation operation) {
- if (invoker == null) {
- invoker = new NotificationReferenceBindingInvoker(operation, this);
- }
- return invoker;
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return reference.getInterfaceContract();
- }
-
- public void start() {
- if (started) {
- return;
- }
-
- brokerManager.referenceProviderStarted(notificationType, this, remoteNtmUrl);
- started = true;
- }
-
- public void stop() {
- }
-
- public void deployProducer() {
- List<URL> consumerList = new ArrayList<URL>();
- String sequenceType;
- try {
- sequenceType = ntm.newProducer(notificationType, myUrl, remoteNtmUrl, consumerList);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- if (Constants.EndConsumers.equals(sequenceType)) {
- for (URL consumerUrl : consumerList) {
- addSubscriberUrl(consumerUrl);
- }
- } else if (Constants.BrokerConsumers.equals(sequenceType)) {
- // Pick a broker consumer, for now the first one
- URL consumerUrl = consumerList.get(0);
- addSubscriberUrl(consumerUrl);
- }
-
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- public void deployBroker(String brokerID, EndpointReference brokerConsumerEPR, List<EndpointReference> consumerList) {
- if (brokerConsumerEPR != null) {
- addSubscriber(brokerConsumerEPR);
- }
- if (consumerList != null && !consumerList.isEmpty()) {
- for (EndpointReference consumerEPR : consumerList) {
- addSubscriber(consumerEPR);
- }
- }
- setBrokerID(brokerID);
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- public void undeployBroker(URL brokerConsumerUrl) {
- EndpointReference brokerConsumerEpr = EncodingUtils.createEndpointReference(brokerConsumerUrl, getBrokerID());
- ntm.removeBroker(brokerConsumerEpr, getNeighborBrokerConsumerEprs(), remoteNtmUrl);
- removeBrokerSubscribers();
- }
-
- public void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream) {
-
- try {
- EncodingObject eo = EncodingUtils.decodeFromStream(encodingRegistry, istream);
- if (eo instanceof Subscribe) {
- Subscribe sub = (Subscribe)eo;
- addSubscriber(sub.getConsumerReference().getReference());
- } else if (eo instanceof ConnectionOverride) {
- ConnectionOverride co = (ConnectionOverride)eo;
- replaceSubscribers(co.getBrokerConsumerReference().getReference());
- } else if (eo instanceof ReplaceBrokerConnection) {
- ReplaceBrokerConnection rbc = (ReplaceBrokerConnection)eo;
- URL removedBrokerConsumerEpr = rbc.getRemovedBroker().getReference().getEndpointAddress().getAddress();
- if (rbc.getNeighbors() != null) {
- int choice = rbc.getNeighbors().getBrokerSequence().size() - 1;
- Broker chosenBroker = rbc.getNeighbors().getBrokerSequence().get(choice);
- replaceBrokerSubscriber(removedBrokerConsumerEpr,
- chosenBroker.getBrokerConsumerReference().getReference());
- brokerManager.replaceConsumersBrokerConnection(notificationType,
- chosenBroker.getBrokerProducerReference().getReference());
- } else {
- replaceBrokerSubscriber(removedBrokerConsumerEpr, null);
- }
- } else {
- throw new RuntimeException("Unknown encoding object");
- }
- } catch(Throwable e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- public synchronized List<SubscriberInfo> getSubscribers() {
- return subscribers;
- }
-
- private void addSubscriberUrl(URL subscriberUrl) {
- addSubscriber(subscriberUrl, null);
- }
-
- private void addSubscriber(EndpointReference subscriberEPR) {
- BrokerID brokerID = null;
- if (subscriberEPR.getReferenceProperties() != null) {
- brokerID = subscriberEPR.getReferenceProperties().getProperty(BrokerID.class);
- }
- addSubscriber(subscriberEPR.getEndpointAddress().getAddress(), (brokerID != null ? brokerID.getID() : null));
- }
-
- private void addSubscriber(URL address, String brokerID) {
- synchronized(this) {
- SubscriberInfo si = new SubscriberInfo(address);
- si.brokerID = brokerID;
- if (subscribers == null) {
- subscribers = new ArrayList<SubscriberInfo>();
- }
- subscribers.add(si);
- }
- }
-
- private void replaceSubscribers(EndpointReference brokerConsumerEPR) {
- synchronized(this) {
- subscribers = null;
- }
- addSubscriber(brokerConsumerEPR);
- }
-
- private void replaceBrokerSubscriber(URL removedBrokerConsumerUrl, EndpointReference chosenBrokerConsumerEpr) {
- synchronized(this) {
- if (subscribers == null) {
- throw new RuntimeException("No subscribers");
- }
- SubscriberInfo siToRemove = null;
- for (SubscriberInfo si : subscribers) {
- if (si.address.equals(removedBrokerConsumerUrl)) {
- siToRemove = si;
- }
- }
- if (siToRemove == null) {
- throw new RuntimeException("Can't find info for broker to remove [" + removedBrokerConsumerUrl + "]");
- }
- if (!subscribers.remove(siToRemove)) {
- throw new RuntimeException("Can't remove info for [" + siToRemove.address + "]");
- }
- }
- if (chosenBrokerConsumerEpr != null) {
- addSubscriber(chosenBrokerConsumerEpr);
- }
- }
-
- private List<EndpointReference> getNeighborBrokerConsumerEprs() {
- synchronized(this) {
- if (subscribers == null) {
- throw new RuntimeException("No subscribers");
- }
- List<EndpointReference> neighborBrokerConsumerEprs = new ArrayList<EndpointReference>();
- for(SubscriberInfo si : subscribers) {
- if (si.brokerID != null) {
- neighborBrokerConsumerEprs.add(EncodingUtils.createEndpointReference(si.address, si.brokerID));
- }
- }
-
- return neighborBrokerConsumerEprs;
- }
- }
-
- private void removeBrokerSubscribers() {
- synchronized(this) {
- if (subscribers == null) {
- throw new RuntimeException("No subscribers");
- }
- List<SubscriberInfo> sisToRemove = new ArrayList<SubscriberInfo>();
- for (SubscriberInfo si : subscribers) {
- if (si.brokerID != null) {
- sisToRemove.add(si);
- }
- }
- for(SubscriberInfo si : sisToRemove) {
- if (!subscribers.remove(si)) {
- throw new RuntimeException("Can't remove broker subscriber [" + si.address + "]");
- }
- }
- }
- }
-
- class SubscriberInfo {
- public URL address;
- public String brokerID;
-
- public SubscriberInfo(URL address) {
- this.address = address;
- this.brokerID = null;
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java
deleted file mode 100644
index 4511fb454b..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerConsumerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverride;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.encoding.ConsumerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingUtils;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointAddress;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.ReferenceProperties;
-import org.apache.tuscany.sca.binding.notification.encoding.Subscribe;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet;
-import org.apache.tuscany.sca.binding.notification.util.URIUtil;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.Writeable;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet.NotificationServletStreamHandler;
-import org.apache.tuscany.sca.core.invocation.MessageImpl;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.Interface;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * The runtime representation of the local service binding
- *
- * @version $Rev$ $Date$
- */
-public class NotificationServiceBindingProvider
- implements ServiceBindingProvider, NotificationServletStreamHandler {
-
- private RuntimeWire wire;
- private NotificationBinding notificationBinding;
- private RuntimeComponentService service;
- private ServletHost servletHost;
- private NotificationTypeManager ntm;
- private EncodingRegistry encodingRegistry;
- private URI notificationType;
- private URL myUrl;
- private URL remoteNtmUrl;
- private static final String consumerPathBase = "/consumer";
- private boolean started;
- private NotificationBrokerManager brokerManager;
- private String brokerID;
-
- public NotificationServiceBindingProvider(NotificationBinding notificationBinding,
- RuntimeComponent component,
- RuntimeComponentService service,
- ServletHost servletHost,
- NotificationTypeManager ntm,
- EncodingRegistry encodingRegistry,
- String httpUrl,
- NotificationBrokerManager brokerManager) {
- this.notificationBinding = notificationBinding;
- this.service = service;
- this.servletHost = servletHost;
- this.ntm = ntm;
- this.encodingRegistry = encodingRegistry;
- this.notificationType = notificationBinding.getNotificationType();
- String ntmAddress = notificationBinding.getNtmAddress();
- String notificationTypePath = URIUtil.getPath(notificationType);
- try {
- this.myUrl = new URL(httpUrl + consumerPathBase + notificationTypePath);
- remoteNtmUrl = null;
- if (ntmAddress != null && notificationType != null) {
- remoteNtmUrl = new URL(ntmAddress + notificationTypePath);
- }
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- this.started = false;
- this.brokerManager = brokerManager;
- this.brokerID = null;
-
- URI uri = URI.create(component.getURI() + "/" + notificationBinding.getName());
- notificationBinding.setURI(uri.toString());
- Interface interfaze = service.getInterfaceContract().getInterface();
- interfaze.resetDataBinding(OMElement.class.getName());
- for (Operation operation : interfaze.getOperations()) {
- operation.setNonBlocking(false);
- }
- }
-
- public NotificationBinding getBinding() {
- return notificationBinding;
- }
-
- public boolean isStarted() {
- return started;
- }
-
- public URL getURL() {
- return myUrl;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return service.getInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- if (started) {
- return;
- }
-
- RuntimeComponentService componentService = (RuntimeComponentService) service;
- wire = componentService.getRuntimeWire(notificationBinding);
-
- for (InvocationChain ch : wire.getInvocationChains()) {
- ch.setAllowsPassByReference(true);
- }
-
- brokerManager.serviceProviderStarted(notificationType, this, remoteNtmUrl);
- started = true;
- }
-
- public void stop() {
- }
-
- public void deployConsumer() {
- WriteableSubscribe ws = new WriteableSubscribe(myUrl, null);
- List<URL> producerList = new ArrayList<URL>();
- String sequenceType = ntm.newConsumer(notificationType, myUrl, remoteNtmUrl, producerList);
- if (Constants.EndProducers.equals(sequenceType)) {
- for (URL producerUrl : producerList) {
- subscribeWithProducer(producerUrl, null, ws);
- }
- } else if (Constants.BrokerProducers.equals(sequenceType)) {
- // Pick a broker producer, for now the first one
- URL producerUrl = producerList.get(0);
- subscribeWithProducer(producerUrl, null, ws);
- }
-
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- protected void subscribeWithProducer(URL producerUrl, String brokerID, WriteableSubscribe ws) {
- if (ws == null) {
- ws = new WriteableSubscribe(myUrl, brokerID);
- }
- try {
- IOUtils.sendHttpRequest(producerUrl, Constants.SUBSCRIBE_OP, ws, null);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public void deployBroker(String brokerID, EndpointReference brokerProducerEPR, List<EndpointReference> producerList) {
- if (brokerProducerEPR != null) {
- subscribeWithProducer(brokerProducerEPR.getEndpointAddress().getAddress(), brokerID, null);
- }
- this.brokerID = brokerID;
- if (producerList != null && !producerList.isEmpty()) {
- WriteableConnectionOverride wco = new WriteableConnectionOverride(myUrl, brokerID);
- for (EndpointReference producerEPR : producerList) {
- try {
- IOUtils.sendHttpRequest(producerEPR.getEndpointAddress().getAddress(), Constants.CONNECTION_OVERRIDE_OP, wco, null);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- public void replaceBrokerConnection(EndpointReference chosenBrokerProducerEpr) {
- if (brokerID == null) {
- throw new RuntimeException("Missing broker id");
- }
- URL producerUrl = chosenBrokerProducerEpr.getEndpointAddress().getAddress();
- subscribeWithProducer(producerUrl, brokerID, null);
- }
-
- public void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream) {
- String opHeader = headers.get(IOUtils.Notification_Operation);
- String incomingBrokerID = headers.get(Constants.Broker_ID);
- if (opHeader == null) {
- throw new RuntimeException("Missing operation header");
- }
- if (wire == null) {
- throw new RuntimeException("Missing wire");
- }
- InvocationChain chain = null;
- for (InvocationChain ch : wire.getInvocationChains()) {
- // We may want to use more than just the op name
- if(ch.getTargetOperation().getName().equals(opHeader)) {
- chain = ch;
- break;
- }
- }
- if (chain == null) {
- throw new RuntimeException("Can't find invocation chain match for [" + opHeader + "]");
- }
- byte[] payload = null;
- try {
- payload = IOUtils.readFully(istream, contentLength);
- } catch(IOException e) {
- throw new RuntimeException(e);
- }
- Object[] args = getArgsFromByteArray(payload, incomingBrokerID);
-
- invoke(chain, args);
-
- // Doing nothing to ostream is equivalent to returning null
- }
-
- private Object[] getArgsFromByteArray(byte[] payload, String incomingBrokerID) {
- try {
- StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(payload));
- OMElement element = builder.getDocumentElement();
- return new Object[] { element };
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- protected void invoke(InvocationChain chain, Object[] args) {
- Message msg = new MessageImpl();
- msg.setBody(args);
- chain.getHeadInvoker().invoke(msg);
- }
-
- class WriteableSubscribe implements Writeable {
-
- private Subscribe sub;
-
- public WriteableSubscribe(URL url, String brokerID) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(url);
- EndpointReference epr = new EndpointReference();
- epr.setEndpointAddress(epa);
- if (brokerID != null) {
- BrokerID cbi = new BrokerID();
- cbi.setID(brokerID);
- ReferenceProperties crp = new ReferenceProperties();
- crp.addProperty(cbi);
- epr.setReferenceProperties(crp);
- }
- ConsumerReference cr = new ConsumerReference();
- cr.setReference(epr);
- sub = new Subscribe();
- sub.setConsumerReference(cr);
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, sub, os);
- }
- }
-
- class WriteableConnectionOverride implements Writeable {
-
- private ConnectionOverride connectionOverride;
-
- public WriteableConnectionOverride(URL brokerConsumerUrl, String brokerID) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(brokerConsumerUrl);
- EndpointReference brokerConsumerEPR = new EndpointReference();
- brokerConsumerEPR.setEndpointAddress(epa);
- BrokerID cbi = new BrokerID();
- cbi.setID(brokerID);
- ReferenceProperties crp = new ReferenceProperties();
- crp.addProperty(cbi);
- brokerConsumerEPR.setReferenceProperties(crp);
- BrokerConsumerReference brokerConsumerReference = new BrokerConsumerReference();
- brokerConsumerReference.setReference(brokerConsumerEPR);
- connectionOverride = new ConnectionOverride();
- connectionOverride.setBrokerConsumerReference(brokerConsumerReference);
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, connectionOverride, os);
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java
deleted file mode 100644
index 101d05f9cb..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationTypeManager {
-
- String newConsumer(URI notificationType, URL consumerUrl, URL remoteNtmUrl, List<URL> producerList);
- String newProducer(URI notificationType, URL producerUrl, URL remoteNtmUrl, List<URL> consumerList);
- boolean newBroker(URI notificationType,
- URL consumerUrl,
- URL producerUrl,
- String brokerID,
- URL remoteNtmUrl,
- List<EndpointReference> consumerList,
- List<EndpointReference> producerList);
- void newBrokerAck(URL remoteNtmUrl);
- void removeBroker(EndpointReference brokerConsumerEpr, List<EndpointReference> neighborBrokerConsumerEprs, URL remoteNtmUrl);
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java
deleted file mode 100644
index 527cfbd667..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-
-import org.apache.tuscany.sca.binding.notification.encoding.Broker;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerConsumerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerProducerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.Brokers;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingException;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingObject;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingUtils;
-import org.apache.tuscany.sca.binding.notification.encoding.EndConsumers;
-import org.apache.tuscany.sca.binding.notification.encoding.EndProducers;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointAddress;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReferenceWrapper;
-import org.apache.tuscany.sca.binding.notification.encoding.NeighborBrokerConsumers;
-import org.apache.tuscany.sca.binding.notification.encoding.Neighbors;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBroker;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerAck;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerResponse;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumer;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumerResponse;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducer;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducerResponse;
-import org.apache.tuscany.sca.binding.notification.encoding.RemoveBroker;
-import org.apache.tuscany.sca.binding.notification.encoding.RemovedBroker;
-import org.apache.tuscany.sca.binding.notification.encoding.ReplaceBrokerConnection;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet;
-import org.apache.tuscany.sca.binding.notification.util.URIUtil;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.ReadableContinuation;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.Writeable;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet.NotificationServletStreamHandler;
-import org.apache.tuscany.sca.host.http.ServletHost;
-
-/**
- * A notification type manager serves as a registry of producers and consumers, or brokers, for
- * any notification type. This class implements an interface that allows a reference provider
- * (a producer), a service provider (a consumer), or both (a broker, via the provider factory),
- * to access locally the ntm for its notification type, regardless of whether the ntm resides
- * locally or remotely.
- * At a given host there is only one reference provider and/or one service provider for any given
- * notification type. So, if the ntm for a notification type resides locally, then it is invoked
- * exclusively by either a reference provider (newProducer), a service provider (newConsumer), or
- * a provider factory (newBroker). And since these invocations occur when the providers are being
- * created then all three of consumerLists, producerLists and brokerLists must be null when these
- * invocations occur.
- *
- * @version $Rev$ $Date$
- */
-public class NotificationTypeManagerImpl implements NotificationTypeManager {
-
- private static final String ntmPathBase = "/ntm";
-
- private ServletHost servletHost;
- private EncodingRegistry encodingRegistry;
- private Map<URI, NotificationTypeManagerHandler> ntmHandlers;
-
- public NotificationTypeManagerImpl() {
- }
-
- public void setServletHost(ServletHost servletHost) {
- this.servletHost = servletHost;
- }
-
- public void setEncodingRegistry(EncodingRegistry encodingRegistry) {
- this.encodingRegistry = encodingRegistry;
- }
-
- public void init() {
- ntmHandlers = new HashMap<URI, NotificationTypeManagerHandler>();
- }
-
- public String newConsumer(URI notificationType, URL consumerUrl, URL remoteNtmUrl, List<URL> producerListResult) {
- if (ntmUrlIsRemote(consumerUrl, remoteNtmUrl)) {
- try {
- WriteableEPW wEPW = new WriteableEPW(new NewConsumer(), consumerUrl);
- InputStreamDecoder isd = new InputStreamDecoder();
- NewConsumerResponse ncr =
- (NewConsumerResponse)IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_CONSUMER_OP, wEPW, isd);
- String sequenceType = ncr.getSequenceType();
- if (Constants.EndProducers.equals(sequenceType) || Constants.BrokerProducers.equals(sequenceType)) {
- for (EndpointReference epr : ncr.getReferenceSequence()) {
- producerListResult.add(epr.getEndpointAddress().getAddress());
- }
- }
- return sequenceType;
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- } else {
- NotificationTypeManagerHandler ntmHandler = ntmHandlers.get(notificationType);
- if (ntmHandler != null) {
- throw new RuntimeException("Trying to deploy local consumer with existing local producer, consumer or broker");
- }
-
- createNtmHandler(consumerUrl.getAuthority(), notificationType, consumerUrl, null, null);
-
- return Constants.NoProducers;
- }
- }
-
- private void createNtmHandler(String ntmUriAuthority, URI notificationType, URL consumerUrl, URL producerUrl, BrokerStruct broker) {
- String ntmUri = "http://" + ntmUriAuthority + ntmPathBase + URIUtil.getPath(notificationType);
- NotificationTypeManagerHandler ntmh = new NotificationTypeManagerHandler(notificationType, consumerUrl, producerUrl, broker);
- ntmHandlers.put(notificationType, ntmh);
- servletHost.addServletMapping(ntmUri, new NotificationServlet(ntmh));
- }
-
- public String newProducer(URI notificationType, URL producerUrl, URL remoteNtmUrl, List<URL> consumerListResult) {
- if (ntmUrlIsRemote(producerUrl, remoteNtmUrl)) {
- try {
- WriteableEPW wEPW = new WriteableEPW(new NewProducer(), producerUrl);
- InputStreamDecoder isd = new InputStreamDecoder();
- NewProducerResponse npr =
- (NewProducerResponse)IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_PRODUCER_OP, wEPW, isd);
- String sequenceType = npr.getSequenceType();
- if (Constants.EndConsumers.equals(sequenceType) || Constants.BrokerConsumers.equals(sequenceType)) {
- for (EndpointReference epr : npr.getReferenceSequence()) {
- consumerListResult.add(epr.getEndpointAddress().getAddress());
- }
- }
- return sequenceType;
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- } else {
- NotificationTypeManagerHandler ntmHandler = ntmHandlers.get(notificationType);
- if (ntmHandler != null) {
- throw new RuntimeException("Trying to deploy local producer with existing local producer, consumer or broker");
- }
-
- createNtmHandler(producerUrl.getAuthority(), notificationType, null, producerUrl, null);
-
- return Constants.NoConsumers;
- }
- }
-
- public boolean newBroker(URI notificationType,
- URL consumerUrl,
- URL producerUrl,
- String brokerID,
- URL remoteNtmUrl,
- List<EndpointReference> consumerListResult,
- List<EndpointReference> producerListResult) {
- String ntmUriAuthority = producerUrl.getAuthority();
- if (!ntmUriAuthority.equals(consumerUrl.getAuthority())) {
- throw new RuntimeException("Producer url and consumer url do not match");
- }
- if (ntmUrlIsRemote(producerUrl, remoteNtmUrl)) {
- try {
- WriteableNewBroker wnb = new WriteableNewBroker(consumerUrl, producerUrl, brokerID);
- InputStreamDecoder isd = new InputStreamDecoder();
- NewBrokerResponse nbr =
- (NewBrokerResponse)IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_BROKER_OP, wnb, isd);
- if (nbr.isFirstBroker()) {
- if (nbr.getEndConsumers().getSequenceType().equals(Constants.EndConsumers)) {
- for (EndpointReference epr : nbr.getEndConsumers().getReferenceSequence()) {
- consumerListResult.add(epr);
- }
- }
- if (nbr.getEndProducers().getSequenceType().equals(Constants.EndProducers)) {
- for (EndpointReference epr : nbr.getEndProducers().getReferenceSequence()) {
- producerListResult.add(epr);
- }
- }
- } else {
- for (Broker broker : nbr.getBrokers().getBrokerSequence()) {
- consumerListResult.add(broker.getBrokerConsumerReference().getReference());
- producerListResult.add(broker.getBrokerProducerReference().getReference());
- }
- }
- return nbr.isFirstBroker();
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- } else {
- NotificationTypeManagerHandler ntmHandler = ntmHandlers.get(notificationType);
- if (ntmHandler != null) {
- throw new RuntimeException("Trying to deploy local broker with existing local producer, consumer or broker");
- }
-
- BrokerStruct broker = new BrokerStruct(consumerUrl, producerUrl, brokerID);
- createNtmHandler(ntmUriAuthority, notificationType, null, null, broker);
-
- return true;
- }
- }
-
- private boolean ntmUrlIsRemote(URL localUrl, URL ntmUrl) {
- if (ntmUrl == null) {
- return false;
- }
- if (localUrl.getPort() != ntmUrl.getPort()) {
- return true;
- }
- String remoteNtmUrlAuthority = ntmUrl.getAuthority();
- if (remoteNtmUrlAuthority.indexOf("localhost") >= 0) {
- return false;
- }
- return !localUrl.getAuthority().equals(remoteNtmUrlAuthority);
- }
-
- public void newBrokerAck(URL remoteNtmUrl) {
- try {
- IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_BROKER_ACK_OP, new WriteableNewBrokerAck(), null);
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- public void removeBroker(EndpointReference brokerConsumerEpr, List<EndpointReference> neighborBrokerConsumerEprs, URL remoteNtmUrl) {
- WriteableRemoveBroker wrb = new WriteableRemoveBroker(brokerConsumerEpr, neighborBrokerConsumerEprs);
-
- try {
- IOUtils.sendHttpRequest(remoteNtmUrl, Constants.REMOVE_BROKER_OP, wrb, null);
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- private class NotificationTypeManagerHandler implements NotificationServletStreamHandler {
-
- private URI notificationType;
- List<URL> consumerList;
- List<URL> producerList;
- List<BrokerStruct> brokerList;
- private NotificationTypeLock notificationTypeLock;
- private BrokerStruct pendingBroker;
-
- public NotificationTypeManagerHandler(URI notificationType) {
- this.notificationType = notificationType;
- this.notificationTypeLock = new NotificationTypeLock();
- this.pendingBroker = null;
- }
-
- public NotificationTypeManagerHandler(URI notificationType, URL consumerUrl, URL producerUrl, BrokerStruct broker) {
- this(notificationType);
- if (consumerUrl != null) {
- addConsumer(consumerUrl);
- } else if (producerUrl != null) {
- addProducer(producerUrl);
- } else if (broker != null) {
- addBroker(broker);
- }
- }
-
- private void addConsumer(URL consumerUrl) {
- if (consumerList == null) {
- consumerList = new ArrayList<URL>();
- }
- consumerList.add(consumerUrl);
- }
-
- private void addProducer(URL producerUrl) {
- if (producerList == null) {
- producerList = new ArrayList<URL>();
- }
- producerList.add(producerUrl);
- }
-
- private void addBroker(BrokerStruct broker) {
- if (brokerList == null) {
- brokerList = new ArrayList<BrokerStruct>();
- }
- brokerList.add(broker);
- }
-
- public void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream) {
- String opHeader = headers.get(IOUtils.Notification_Operation);
- EncodingObject eo = null;
- try {
- eo = EncodingUtils.decodeFromStream(encodingRegistry, istream);
- } catch(EncodingException e) {
- throw new RuntimeException(e);
- }
-
- if (Constants.NEW_CONSUMER_OP.equals(opHeader)) {
- handleNewConsumer((NewConsumer)eo, ostream);
- } else if(Constants.NEW_PRODUCER_OP.equals(opHeader)) {
- handleNewProducer((NewProducer)eo, ostream);
- } else if(Constants.NEW_BROKER_OP.equals(opHeader)) {
- handleNewBroker((NewBroker)eo, ostream);
- } else if (Constants.NEW_BROKER_ACK_OP.equals(opHeader)) {
- handleNewBrokerAck();
- } else if (Constants.REMOVE_BROKER_OP.equals(opHeader)) {
- handleRemoveBroker((RemoveBroker)eo);
- }
- }
-
- private void handleNewConsumer(NewConsumer nc, ServletOutputStream ostream) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
- URL consumerUrl = nc.getReference().getEndpointAddress().getAddress();
- if (brokerList == null) {
- addConsumer(consumerUrl);
- }
-
- NewConsumerResponse ncr = new NewConsumerResponse();
- if (producerList != null) {
- ncr.setSequenceType(Constants.EndProducers);
- for (URL producerUrl : producerList) {
- ncr.addReferenceToSequence(EncodingUtils.createEndpointReference(producerUrl, null));
- }
- } else if(brokerList != null) {
- ncr.setSequenceType(Constants.BrokerProducers);
- for (BrokerStruct broker : brokerList) {
- ncr.addReferenceToSequence(EncodingUtils.createEndpointReference(broker.producerUrl, null));
- }
- } else {
- ncr.setSequenceType(Constants.NoProducers);
- }
- try {
- EncodingUtils.encodeToStream(encodingRegistry, ncr, ostream);
- } catch(IOUtilsException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- private void handleNewProducer(NewProducer np, ServletOutputStream ostream) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
- URL producerUrl = np.getReference().getEndpointAddress().getAddress();
- if (brokerList == null) {
- addProducer(producerUrl);
- }
-
- NewProducerResponse npr = new NewProducerResponse();
- if (consumerList != null) {
- npr.setSequenceType(Constants.EndConsumers);
- for (URL consumerUrl : consumerList) {
- npr.addReferenceToSequence(EncodingUtils.createEndpointReference(consumerUrl, null));
- }
- } else if(brokerList != null) {
- npr.setSequenceType(Constants.BrokerConsumers);
- for (BrokerStruct broker : brokerList) {
- npr.addReferenceToSequence(EncodingUtils.createEndpointReference(broker.consumerUrl, null));
- }
- } else {
- npr.setSequenceType(Constants.NoConsumers);
- }
- try {
- EncodingUtils.encodeToStream(encodingRegistry, npr, ostream);
- } catch(IOUtilsException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- private void handleNewBroker(NewBroker nb, ServletOutputStream ostream) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
- NewBrokerResponse nbr = new NewBrokerResponse();
- if (consumerList != null || producerList != null || brokerList == null) {
- nbr.setFirstBroker(true);
- EndConsumers endConsumers = new EndConsumers();
- if (consumerList != null) {
- endConsumers.setSequenceType(Constants.EndConsumers);
- for (URL consumerUrl : consumerList) {
- endConsumers.addReferenceToSequence(EncodingUtils.createEndpointReference(consumerUrl, null));
- }
- } else {
- endConsumers.setSequenceType(Constants.NoConsumers);
- }
- nbr.setEndConsumers(endConsumers);
- EndProducers endProducers = new EndProducers();
- if (producerList != null) {
- endProducers.setSequenceType(Constants.EndProducers);
- for (URL producerUrl : producerList) {
- endProducers.addReferenceToSequence(EncodingUtils.createEndpointReference(producerUrl, null));
- }
- } else {
- endProducers.setSequenceType(Constants.NoProducers);
- }
- nbr.setEndProducers(endProducers);
- } else {
- nbr.setFirstBroker(false);
- Brokers brokers = new Brokers();
- for (BrokerStruct brokerStruct : brokerList) {
- Broker brokerElt = new Broker();
- BrokerConsumerReference bcr = new BrokerConsumerReference();
- bcr.setReference(EncodingUtils.createEndpointReference(brokerStruct.consumerUrl, brokerStruct.brokerID));
- brokerElt.setBrokerConsumerReference(bcr);
-
- BrokerProducerReference bpr = new BrokerProducerReference();
- bpr.setReference(EncodingUtils.createEndpointReference(brokerStruct.producerUrl, brokerStruct.brokerID));
- brokerElt.setBrokerProducerReference(bpr);
- brokers.addBrokerToSequence(brokerElt);
- }
- nbr.setBrokers(brokers);
- }
- EndpointReference consumerEPR = nb.getBrokerConsumerReference().getReference();
- URL consumerUrl = consumerEPR.getEndpointAddress().getAddress();
- BrokerID consumerBrokerID = consumerEPR.getReferenceProperties().getProperty(BrokerID.class);
- EndpointReference producerEPR = nb.getBrokerProducerReference().getReference();
- URL producerUrl = producerEPR.getEndpointAddress().getAddress();
- BrokerID producerBrokerID = producerEPR.getReferenceProperties().getProperty(BrokerID.class);
- if (consumerBrokerID == null ||
- producerBrokerID == null ||
- !consumerBrokerID.getID().equals(producerBrokerID.getID())) {
- throw new RuntimeException("Producer and consumer broker ids do not match");
- }
- // only add broker if consumerList == null && producerList == null
- // otherwise, make it a pending broker and wait for ack
- // TODO block for a configurable amount of time
- BrokerStruct broker = new BrokerStruct(consumerUrl, producerUrl, consumerBrokerID.getID());
- if (consumerList == null && producerList == null) {
- addBroker(broker);
- } else {
- pendingBroker = broker;
- notificationTypeLock.isLocked = true;
- }
- try {
- EncodingUtils.encodeToStream(encodingRegistry, nbr, ostream);
- } catch(IOUtilsException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- private void handleNewBrokerAck() {
- synchronized(notificationTypeLock) {
- if (!notificationTypeLock.isLocked) {
- notificationTypeLock.notifyAll();
- throw new RuntimeException("Notification type should be locked");
- }
- if (brokerList != null) {
- notificationTypeLock.isLocked = false;
- notificationTypeLock.notifyAll();
- throw new RuntimeException("Can't add pending broker to non-empty broker list");
- }
- if (pendingBroker == null) {
- notificationTypeLock.isLocked = false;
- notificationTypeLock.notifyAll();
- throw new RuntimeException("Missing pending broker");
- }
- addBroker(pendingBroker);
- consumerList = null;
- producerList = null;
- pendingBroker = null;
- notificationTypeLock.isLocked = false;
- notificationTypeLock.notifyAll();
- }
- }
-
- private void handleRemoveBroker(RemoveBroker rb) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
-
- if (brokerList == null) {
- throw new RuntimeException("No broker to remove for [" + notificationType + "]");
- }
-
- NeighborBrokerConsumers nbcs = rb.getNeighborBrokerConsumers();
- EndpointReference rbEpr = rb.getBrokerConsumerReference().getReference();
- if (nbcs != null && nbcs.getReferenceSequence() != null) {
- List<Broker> neighborBrokers = new ArrayList<Broker>();
- for (EndpointReference neighborBrokerConsumerEpr : nbcs.getReferenceSequence()) {
- BrokerStruct neighborBrokerStruct = null;
- URL neighborBrokerConsumerEprUrl = neighborBrokerConsumerEpr.getEndpointAddress().getAddress();
- for (BrokerStruct brokerStruct : brokerList) {
- if (brokerStruct.consumerUrl.equals(neighborBrokerConsumerEprUrl)) {
- neighborBrokerStruct = brokerStruct;
- break;
- }
- }
- if (neighborBrokerStruct == null) {
- throw new RuntimeException("Can't find neighbor broker for consumer EPR [" +
- neighborBrokerConsumerEprUrl + "]");
- }
- BrokerConsumerReference bcr = new BrokerConsumerReference();
- bcr.setReference(EncodingUtils.createEndpointReference(neighborBrokerStruct.consumerUrl, neighborBrokerStruct.brokerID));
- BrokerProducerReference bpr = new BrokerProducerReference();
- bpr.setReference(EncodingUtils.createEndpointReference(neighborBrokerStruct.producerUrl, neighborBrokerStruct.brokerID));
- Broker neighborBroker = new Broker();
- neighborBroker.setBrokerConsumerReference(bcr);
- neighborBroker.setBrokerProducerReference(bpr);
- neighborBrokers.add(neighborBroker);
- }
- int lastIndex = neighborBrokers.size() - 1;
- for (int index = lastIndex; index >= 0; index--) {
- List<Broker> writeableNeighborBrokers = ((index > 0) ? neighborBrokers.subList(0, index) : null);
- WriteableReplaceBrokerConnection wrbc = new WriteableReplaceBrokerConnection(rbEpr, writeableNeighborBrokers);
- URL targetUrl =
- neighborBrokers.get(index).getBrokerProducerReference().getReference().getEndpointAddress().getAddress();
- try {
- IOUtils.sendHttpRequest(targetUrl, Constants.REPLACE_BROKER_CONNECTION_OP, wrbc, null);
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
- }
-
- BrokerStruct removedBrokerStruct = null;
- URL rbEprUrl = rbEpr.getEndpointAddress().getAddress();
- for (BrokerStruct brokerSruct : brokerList) {
- if (brokerSruct.consumerUrl.equals(rbEprUrl)) {
- removedBrokerStruct = brokerSruct;
- break;
- }
- }
- if (removedBrokerStruct == null) {
- throw new RuntimeException("Can't find broker to remove for EPR [" + rbEprUrl + "]");
- }
- if(!brokerList.remove(removedBrokerStruct)) {
- throw new RuntimeException("Broker was not removed");
- }
- }
- }
- }
-
- class NotificationTypeLock {
- public boolean isLocked;
- }
-
- class WriteableEPW implements Writeable {
- private EndpointReferenceWrapper epw;
-
- public WriteableEPW(EndpointReferenceWrapper epw, URL url) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(url);
- EndpointReference epr = new EndpointReference();
- epr.setEndpointAddress(epa);
- epw.setReference(epr);
- this.epw = epw;
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, epw, os);
- }
- }
-
- class InputStreamDecoder implements ReadableContinuation {
-
- public Object read(InputStream istream) throws IOUtilsException {
- try {
- return EncodingUtils.decodeFromStream(encodingRegistry, istream);
- } catch(EncodingException e) {
- throw new IOUtilsException(e);
- }
- }
- }
-
- class BrokerStruct {
- public URL consumerUrl;
- public URL producerUrl;
- public String brokerID;
-
- public BrokerStruct(URL consumerUrl, URL producerUrl, String brokerID) {
- this.consumerUrl = consumerUrl;
- this.producerUrl = producerUrl;
- this.brokerID = brokerID;
- }
- }
-
- class WriteableNewBroker implements Writeable {
- private NewBroker newBroker;
-
- public WriteableNewBroker(URL consumerUrl, URL producerUrl, String brokerID) {
- newBroker = new NewBroker();
- BrokerConsumerReference bcr = new BrokerConsumerReference();
- bcr.setReference(EncodingUtils.createEndpointReference(consumerUrl, brokerID));
- newBroker.setBrokerConsumerReference(bcr);
-
- BrokerProducerReference bpr = new BrokerProducerReference();
- bpr.setReference(EncodingUtils.createEndpointReference(producerUrl, brokerID));
- newBroker.setBrokerProducerReference(bpr);
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, newBroker, os);
- }
- }
-
- class WriteableNewBrokerAck implements Writeable {
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, new NewBrokerAck(), os);
- }
- }
-
- class WriteableRemoveBroker implements Writeable {
- private RemoveBroker removeBroker;
-
- public WriteableRemoveBroker(EndpointReference brokerConsumerEpr, List<EndpointReference> neighborBrokerConsumerEprs) {
- removeBroker = new RemoveBroker();
- BrokerConsumerReference brokerConsumerReference = new BrokerConsumerReference();
- brokerConsumerReference.setReference(brokerConsumerEpr);
- removeBroker.setBrokerConsumerReference(brokerConsumerReference);
- if (neighborBrokerConsumerEprs != null) {
- NeighborBrokerConsumers neighborBrokerConsumers = new NeighborBrokerConsumers();
- neighborBrokerConsumers.setReferenceSequence(neighborBrokerConsumerEprs);
- neighborBrokerConsumers.setSequenceType(Constants.BrokerConsumers);
- removeBroker.setNeighborBrokerConsumers(neighborBrokerConsumers);
- }
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, removeBroker, os);
- }
- }
-
- class WriteableReplaceBrokerConnection implements Writeable {
- private ReplaceBrokerConnection replaceBrokerConnection;
-
- public WriteableReplaceBrokerConnection(EndpointReference removedBrokerEpr, List<Broker> brokerSequence) {
- replaceBrokerConnection = new ReplaceBrokerConnection();
- RemovedBroker removedBroker = new RemovedBroker();
- removedBroker.setReference(removedBrokerEpr);
- replaceBrokerConnection.setRemovedBroker(removedBroker);
- if (brokerSequence != null) {
- Neighbors neighbors = new Neighbors();
- neighbors.setBrokerSequence(brokerSequence);
- replaceBrokerConnection.setNeighbors(neighbors);
- }
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, replaceBrokerConnection, os);
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java
deleted file mode 100644
index e99845d886..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class AbstractBroker implements EncodingObject {
-
- private BrokerProducerReference brokerProducerReference;
- private BrokerConsumerReference brokerConsumerReference;
-
- public BrokerProducerReference getBrokerProducerReference() {
- return this.brokerProducerReference;
- }
-
- public void setBrokerProducerReference(BrokerProducerReference brokerProducerReference) {
- this.brokerProducerReference = brokerProducerReference;
- }
-
- public BrokerConsumerReference getBrokerConsumerReference() {
- return this.brokerConsumerReference;
- }
-
- public void setBrokerConsumerReference(BrokerConsumerReference brokerConsumerReference) {
- this.brokerConsumerReference = brokerConsumerReference;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java
deleted file mode 100644
index 76eb204f21..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class AbstractBrokerEnDeCoder<B extends AbstractBroker> extends AbstractEnDeCoder<B> {
-
- public AbstractBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(B encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- registry.encode(encodingObject.getBrokerConsumerReference(), writer);
- registry.encode(encodingObject.getBrokerProducerReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public B decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- B brokerElement = getEncodingObjectType().newInstance();
- boolean haveBCR = false;
- boolean haveBPR = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof BrokerConsumerReference && !haveBCR) {
- brokerElement.setBrokerConsumerReference((BrokerConsumerReference)encodingObject);
- haveBCR = true;
- } else if(encodingObject instanceof BrokerProducerReference && !haveBPR) {
- brokerElement.setBrokerProducerReference((BrokerProducerReference)encodingObject);
- haveBPR = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveBCR) {
- throw new EncodingException("Missing broker consumer reference");
- }
- if (!haveBPR) {
- throw new EncodingException("Missing broker producer reference");
- }
- return brokerElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java
deleted file mode 100644
index 536801016c..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class AbstractEnDeCoder<E extends EncodingObject> implements
- EnDeCoder<E> {
-
- protected EncodingRegistry registry;
-
- protected AbstractEnDeCoder(EncodingRegistry registry) {
-
- this.registry = registry;
- }
-
- public void start() {
- Class<E> encodingType = getEncodingObjectType();
- QName encodingQName = getEncodingObjectQName();
-
- registry.registerEnDeCoder(encodingType, encodingQName, this);
- }
-
- public void stop() {
- Class<E> encodingType = getEncodingObjectType();
- QName encodingQName = getEncodingObjectQName();
-
- registry.unregisterEnDeCoder(encodingType, encodingQName);
- }
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java
deleted file mode 100644
index 3b2aacef4c..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Broker extends AbstractBroker {
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java
deleted file mode 100644
index 94357cd98d..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerConsumerReference extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java
deleted file mode 100644
index 66f0a198e4..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerConsumerReferenceEnDeCoder extends EndpointReferenceWrapperEnDeCoder<BrokerConsumerReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.BrokerConsumerReference);
-
- public BrokerConsumerReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<BrokerConsumerReference> getEncodingObjectType() {
- return BrokerConsumerReference.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java
deleted file mode 100644
index e6e6b05a42..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerEnDeCoder extends AbstractBrokerEnDeCoder<Broker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Broker);
-
- public BrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Broker> getEncodingObjectType() {
-
- return Broker.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java
deleted file mode 100644
index 7c53d529a8..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.UUID;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerID implements EncodingObject {
-
- private String id;
-
- public String getID() {
- return id;
- }
-
- public void setID(String id) {
- this.id = id;
- }
-
- public static String generate() {
- return UUID.randomUUID().toString();
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java
deleted file mode 100644
index a500a2a854..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerIDEnDeCoder extends AbstractEnDeCoder<BrokerID> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.BrokerID);
-
- public BrokerIDEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(BrokerID encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- writer.writeCharacters(encodingObject.getID());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public BrokerID decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- BrokerID brokerIDElement = new BrokerID();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- break;
- case XMLStreamConstants.CHARACTERS:
- if (reader.hasText()) {
- String id = reader.getText();
- brokerIDElement.setID(id);
- } else {
- throw new EncodingException("Broker ID missing value");
- }
- break;
- case END_ELEMENT:
- return brokerIDElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<BrokerID> getEncodingObjectType() {
-
- return BrokerID.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java
deleted file mode 100644
index a6a2b15a15..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerProducerReference extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java
deleted file mode 100644
index 209416c203..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerProducerReferenceEnDeCoder extends EndpointReferenceWrapperEnDeCoder<BrokerProducerReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.BrokerProducerReference);
-
- public BrokerProducerReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<BrokerProducerReference> getEncodingObjectType() {
- return BrokerProducerReference.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java
deleted file mode 100644
index 24395ee0a6..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Brokers implements EncodingObject {
-
- private List<Broker> brokerSequence;
-
- public List<Broker> getBrokerSequence() {
- return brokerSequence;
- }
-
- public void addBrokerToSequence(Broker broker) {
- if(this.brokerSequence == null) {
- this.brokerSequence = new ArrayList<Broker>();
- }
- this.brokerSequence.add(broker);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java
deleted file mode 100644
index 1dba2533d2..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokersEnDeCoder extends AbstractEnDeCoder<Brokers> {
-
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Brokers);
-
- public BrokersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(Brokers encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- if (encodingObject.getBrokerSequence() != null) {
- for (Broker broker : encodingObject.getBrokerSequence()) {
- registry.encode(broker, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public Brokers decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- Brokers brokersElement = new Brokers();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- brokersElement.addBrokerToSequence((Broker)encodingObject);
- break;
- case END_ELEMENT:
- return brokersElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Brokers> getEncodingObjectType() {
-
- return Brokers.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java
deleted file mode 100644
index 5783d0de02..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverride implements EncodingObject {
-
- private BrokerConsumerReference brokerConsumerReference;
-
- public BrokerConsumerReference getBrokerConsumerReference() {
- return this.brokerConsumerReference;
- }
-
- public void setBrokerConsumerReference(BrokerConsumerReference brokerConsumerReference) {
- this.brokerConsumerReference = brokerConsumerReference;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java
deleted file mode 100644
index bec3e6ff29..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverrideEnDeCoder extends AbstractEnDeCoder<ConnectionOverride> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ConnectionOverride);
-
- public ConnectionOverrideEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ConnectionOverride encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getBrokerConsumerReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ConnectionOverride decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ConnectionOverride connectionOverrideElement = new ConnectionOverride();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- connectionOverrideElement.setBrokerConsumerReference((BrokerConsumerReference)encodingObject);
- break;
- case END_ELEMENT:
- return connectionOverrideElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ConnectionOverride> getEncodingObjectType() {
-
- return ConnectionOverride.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java
deleted file mode 100644
index 91ba05404a..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverrideResponse implements EncodingObject {
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java
deleted file mode 100644
index 9012aaeb25..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverrideResponseEnDeCoder extends AbstractEnDeCoder<ConnectionOverrideResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ConnectionOverrideResponse);
-
- public ConnectionOverrideResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ConnectionOverrideResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ConnectionOverrideResponse decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ConnectionOverrideResponse connectionOverrideResponseElement = new ConnectionOverrideResponse();
- while (true) {
- switch (reader.next()) {
- case END_ELEMENT:
- return connectionOverrideResponseElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ConnectionOverrideResponse> getEncodingObjectType() {
-
- return ConnectionOverrideResponse.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java
deleted file mode 100644
index ca64c15305..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Constants {
-
- String NOTIFICATION_NS = "http://docs.oasis-open.org/wsn/b-2";
- String NOTIFICATION_PREFIX = "wsnt";
- String ADDRESSING_NS = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
- String ADDRESSING_PREFIX = "wsa";
- String Subscribe = "Subscribe";
- String ConsumerReference = "ConsumerReference";
- String Address = "Address";
- String ReferenceProperties = "ReferenceProperties";
- String EndpointReference = "EndpointReference";
- String BrokerID = "BrokerID";
- String NewConsumer = "NewConsumer";
- String NewProducer = "NewProducer";
- String NewConsumerResponse = "NewConsumerResponse";
- String NewProducerResponse = "NewProducerResponse";
- String ConsumerSequenceType = "ConsumerSequenceType";
- String EndConsumers = "EndConsumers";
- String BrokerConsumers = "BrokerConsumers";
- String NoConsumers = "NoConsumers";
- String ProducerSequenceType = "ProducerSequenceType";
- String EndProducers = "EndProducers";
- String BrokerProducers = "BrokerProducers";
- String NoProducers = "NoProducers";
- String Broker = "Broker";
- String NewBroker = "NewBroker";
- String NewBrokerAck = "NewBrokerAck";
- String BrokerConsumerReference = "BrokerConsumerReference";
- String BrokerProducerReference = "BrokerProducerReference";
- String NewBrokerResponse = "NewBrokerResponse";
- String FirstBroker = "FirstBroker";
- String Brokers = "Brokers";
- String ConnectionOverride = "ConnectionOverride";
- String ConnectionOverrideResponse = "ConnectionOverrideResponse";
- String NeighborBrokerConsumers = "NeighborBrokerConsumers";
- String RemoveBroker = "RemoveBroker";
- String RemovedBroker = "RemovedBroker";
- String Neighbors = "Neighbors";
- String ReplaceBrokerConnection = "ReplaceBrokerConnection";
-
- String SUBSCRIBE_OP = "subscribe";
- String CONNECTION_OVERRIDE_OP = "connectionOverride";
- String NEW_CONSUMER_OP = "newConsumer";
- String NEW_PRODUCER_OP = "newProducer";
- String NEW_BROKER_OP = "newBroker";
- String NEW_BROKER_ACK_OP = "newBrokerAck";
- String REMOVE_BROKER_OP = "removeBroker";
- String REPLACE_BROKER_CONNECTION_OP = "replaceBrokerConnection";
-
- String Broker_ID = "brokerID";
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java
deleted file mode 100644
index 1c678a2b96..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConsumerReference extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java
deleted file mode 100644
index 8c6f684425..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConsumerReferenceEnDeCoder extends EndpointReferenceWrapperEnDeCoder<ConsumerReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ConsumerReference);
-
- public ConsumerReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<ConsumerReference> getEncodingObjectType() {
- return ConsumerReference.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java
deleted file mode 100644
index 5b28aedcf9..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class DefaultEncodingRegistry implements EncodingRegistry {
-
- private final Map<Class<? extends EncodingObject>, EnDeCoder> encoderRegistry =
- new ConcurrentHashMap<Class<? extends EncodingObject>, EnDeCoder>();
-
- private final Map<QName, EnDeCoder> decoderRegistry = new ConcurrentHashMap<QName, EnDeCoder>();
-
- public DefaultEncodingRegistry() {
- }
-
- public <E extends EncodingObject> void registerEnDeCoder(Class<E> encodingClass, QName qname, EnDeCoder<E> enDeCoder) {
-
- encoderRegistry.put(encodingClass, enDeCoder);
- decoderRegistry.put(qname, enDeCoder);
- }
-
- public <E extends EncodingObject> void unregisterEnDeCoder(Class<E> encodingClass, QName qname) {
-
- encoderRegistry.remove(encodingClass);
- decoderRegistry.remove(qname);
- }
-
- @SuppressWarnings("unchecked")
- public void encode(EncodingObject encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- EnDeCoder encoder = encoderRegistry.get(encodingObject.getClass());
- if (encoder == null) {
- throw new EncodingException("No encoder defined for " + encodingObject.getClass());
- }
- encoder.encode(encodingObject, writer);
- }
-
- public EncodingObject decode(XMLStreamReader reader) throws EncodingException {
-
- QName qname = reader.getName();
-
- EnDeCoder decoder = decoderRegistry.get(qname);
- if (decoder == null) {
- throw new EncodingException("No decoder defined for " + qname);
- }
- return decoder.decode(reader);
- }
-
- public void stop() {
- encoderRegistry.clear();
- decoderRegistry.clear();
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java
deleted file mode 100644
index bf6094582e..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface EnDeCoder<E extends EncodingObject> {
-
- /**
- * Encodes an object to the specified stream writer.
- *
- * @param encodingObject Object to be serialized.
- * @param writer Stream writer to which the infoset is serialized.
- * @throws EncodingException In case of any encoding error.
- */
- void encode(E encodingObject, XMLStreamWriter writer) throws EncodingException;
-
- /**
- * Decodes an XML stream to an object.
- *
- * @param reader XML stream from where the encoded XML is read.
- * @return Encoding object.
- * @throws EncodingException In case of any encoding error.
- */
- E decode(XMLStreamReader reader) throws EncodingException;
-
- /**
- * Gets the qualified name of the XML fragment for the Encoding
- * object.
- *
- * @return Qualified name of the XML fragment.
- */
- QName getEncodingObjectQName();
-
- /**
- * Returns the type of the encoding object.
- *
- * @return Encoding object type.
- */
- Class<E> getEncodingObjectType();
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java
deleted file mode 100644
index ee12161903..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-@SuppressWarnings("serial")
-public class EncodingException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * Initializes the exception message.
- *
- * @param message Message for the exception.
- */
- public EncodingException(String message) {
- super(message);
- }
-
- /**
- * Initializes the root cause.
- *
- * @param cause Root cause for the exception.
- */
- public EncodingException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java
deleted file mode 100644
index bf94da374c..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface EncodingObject {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java
deleted file mode 100644
index 92f10cd4b3..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface EncodingRegistry {
-
- /**
- * Registers an en/de coder.
- *
- * @param <E> Encoding object type.
- * @param encodingClass Encoding object class.
- * @param qname Qualified name of the root element of the encoded XML.
- * @param enDeCoder Encoding object enDeCoder.
- */
- <E extends EncodingObject> void registerEnDeCoder(Class<E> encodingClass, QName qname, EnDeCoder<E> enDeCoder);
-
- <E extends EncodingObject> void unregisterEnDeCoder(Class<E> encodingClass, QName qname);
-
- /**
- * Encodes an object.
- *
- * @param encodingObject Encoding object to be encoded.
- * @param writer Writer to which encoded information is written.
- */
- void encode(EncodingObject encodingObject, XMLStreamWriter writer) throws EncodingException;
-
- /**
- * Decodes an XML stream to an encoding object.
- *
- * @param reader Reader from which encoded information is read.
- * @return Encoding object from the encoded stream.
- */
- EncodingObject decode(XMLStreamReader reader) throws EncodingException;
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java
deleted file mode 100644
index 264566aae4..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EncodingUtils {
-
- private static XMLOutputFactory xof = XMLOutputFactory.newInstance();
- private static XMLInputFactory xif = XMLInputFactory.newInstance();
-
- public static void encodeToStream(EncodingRegistry encodingRegistry,
- EncodingObject eo,
- OutputStream os) throws IOUtilsException {
- try {
- XMLStreamWriter writer = xof.createXMLStreamWriter(os);
- encodingRegistry.encode(eo, writer);
- writer.flush();
- writer.close();
- } catch(Exception e) {
- throw new IOUtilsException(e);
- }
- }
-
- public static EncodingObject decodeFromStream(EncodingRegistry encodingRegistry,
- InputStream istream) throws EncodingException {
- EncodingObject eo = null;
- try {
- XMLStreamReader reader = xif.createXMLStreamReader(istream);
- reader.next();
- eo = encodingRegistry.decode(reader);
- reader.close();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
-
- return eo;
- }
-
- public static EndpointReference createEndpointReference(URL address, String brokerID) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(address);
- EndpointReference epr = new EndpointReference();
- epr.setEndpointAddress(epa);
- if (brokerID != null) {
- BrokerID bi = new BrokerID();
- bi.setID(brokerID);
- ReferenceProperties rp = new ReferenceProperties();
- rp.addProperty(bi);
- epr.setReferenceProperties(rp);
- }
- return epr;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java
deleted file mode 100644
index 8066184da9..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndConsumers extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java
deleted file mode 100644
index 5e3afc8195..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndConsumersEnDeCoder extends EndpointReferenceSequenceEnDeCoder<EndConsumers> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.EndConsumers);
-
- public EndConsumersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<EndConsumers> getEncodingObjectType() {
- return EndConsumers.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(EndConsumers encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ConsumerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ConsumerSequenceType);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java
deleted file mode 100644
index b43ad5c214..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndProducers extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java
deleted file mode 100644
index 3840b1caf9..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndProducersEnDeCoder extends EndpointReferenceSequenceEnDeCoder<EndProducers> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.EndProducers);
-
- public EndProducersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<EndProducers> getEncodingObjectType() {
- return EndProducers.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(EndProducers encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ProducerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ProducerSequenceType);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java
deleted file mode 100644
index f2a36d89db..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.net.URL;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointAddress implements EncodingObject {
-
- private URL address;
-
- public URL getAddress() {
- return address;
- }
-
- public void setAddress(URL address) {
- this.address = address;
- }
-
- public void setAddress(String addressText) throws EncodingException {
- try {
- this.address = new URL(addressText);
- } catch(Exception e) {
- throw new EncodingException(e);
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java
deleted file mode 100644
index 8195c80c49..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointAddressEnDeCoder extends AbstractEnDeCoder<EndpointAddress> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.ADDRESSING_NS, Constants.Address);
-
- public EndpointAddressEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(EndpointAddress encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.ADDRESSING_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.ADDRESSING_PREFIX, QNAME.getNamespaceURI());
- writer.writeCharacters(encodingObject.getAddress().toString());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public EndpointAddress decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- EndpointAddress endpointAddressElement = new EndpointAddress();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- break;
- case XMLStreamConstants.CHARACTERS:
- if (reader.hasText()) {
- String address = reader.getText();
- endpointAddressElement.setAddress(address);
- } else {
- throw new EncodingException("Endpoint address is missing address");
- }
- break;
- case END_ELEMENT:
- return endpointAddressElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<EndpointAddress> getEncodingObjectType() {
-
- return EndpointAddress.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java
deleted file mode 100644
index beba8fdc9b..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReference implements EncodingObject {
-
- private EndpointAddress endpointAddress;
- private ReferenceProperties referenceProperties;
-
- public EndpointAddress getEndpointAddress() {
- return this.endpointAddress;
- }
-
- public void setEndpointAddress(EndpointAddress endpointAddress) {
- this.endpointAddress = endpointAddress;
- }
-
- public ReferenceProperties getReferenceProperties() {
- return this.referenceProperties;
- }
-
- public void setReferenceProperties(ReferenceProperties referenceProperties) {
- this.referenceProperties = referenceProperties;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java
deleted file mode 100644
index cfc747f59e..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReferenceEnDeCoder extends AbstractEnDeCoder<EndpointReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.ADDRESSING_NS, Constants.EndpointReference);
-
- public EndpointReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(EndpointReference encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.ADDRESSING_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.ADDRESSING_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getEndpointAddress(), writer);
- if (encodingObject.getReferenceProperties() != null) {
- registry.encode(encodingObject.getReferenceProperties(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public EndpointReference decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- EndpointReference endpointReferenceElement = new EndpointReference();
- boolean haveEPA = false;
- boolean haveRP = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof EndpointAddress && !haveEPA) {
- endpointReferenceElement.setEndpointAddress((EndpointAddress)encodingObject);
- haveEPA = true;
- } else if(encodingObject instanceof ReferenceProperties && !haveRP) {
- endpointReferenceElement.setReferenceProperties((ReferenceProperties)encodingObject);
- haveRP = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveEPA) {
- throw new EncodingException("Missing endpoint address");
- }
- return endpointReferenceElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<EndpointReference> getEncodingObjectType() {
-
- return EndpointReference.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java
deleted file mode 100644
index a9c901a431..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReferenceSequence implements EncodingObject {
-
- private List<EndpointReference> referenceSequence;
- private String sequenceType;
-
- public List<EndpointReference> getReferenceSequence() {
- return referenceSequence;
- }
-
- public void addReferenceToSequence(EndpointReference address) {
- if(this.referenceSequence == null) {
- this.referenceSequence = new ArrayList<EndpointReference>();
- }
- this.referenceSequence.add(address);
- }
-
- public void setReferenceSequence(List<EndpointReference> referenceSequence) {
- this.referenceSequence = referenceSequence;
- }
-
- public String getSequenceType() {
- return this.sequenceType;
- }
-
- public void setSequenceType(String sequenceType) {
- this.sequenceType = sequenceType;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java
deleted file mode 100644
index 864de25fd6..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class EndpointReferenceSequenceEnDeCoder<ERS extends EndpointReferenceSequence> extends AbstractEnDeCoder<ERS> {
-
- public EndpointReferenceSequenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ERS encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- encodeSequenceTypeAttribute(encodingObject, writer);
- if (encodingObject.getReferenceSequence() != null) {
- for (EndpointReference endpointReference : encodingObject.getReferenceSequence()) {
- registry.encode(endpointReference, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- protected abstract void encodeSequenceTypeAttribute(ERS encodingObject, XMLStreamWriter writer) throws EncodingException;
-
- public ERS decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ERS endpointReferenceSequenceElement = null;
- try {
- endpointReferenceSequenceElement = getEncodingObjectType().newInstance();
- } catch(Exception e) {
- throw new EncodingException(e);
- }
- String sequenceType = decodeSequenceTypeAttribute(reader);
- endpointReferenceSequenceElement.setSequenceType(sequenceType);
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- endpointReferenceSequenceElement.addReferenceToSequence((EndpointReference)encodingObject);
- break;
- case END_ELEMENT:
- return endpointReferenceSequenceElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
- protected abstract String decodeSequenceTypeAttribute(XMLStreamReader reader);
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java
deleted file mode 100644
index b3f2c060fb..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReferenceWrapper implements EncodingObject {
-
- private EndpointReference reference;
-
- public EndpointReference getReference() {
- return reference;
- }
-
- public void setReference(EndpointReference reference) {
- this.reference = reference;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java
deleted file mode 100644
index 979a6e8e34..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class EndpointReferenceWrapperEnDeCoder<ERW extends EndpointReferenceWrapper> extends AbstractEnDeCoder<ERW> {
-
- public EndpointReferenceWrapperEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ERW encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- registry.encode(encodingObject.getReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ERW decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ERW endpointReferenceWrapperElement = null;
- try {
- endpointReferenceWrapperElement = getEncodingObjectType().newInstance();
- } catch(Exception e) {
- throw new EncodingException(e);
- }
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- endpointReferenceWrapperElement.setReference((EndpointReference)encodingObject);
- break;
- case END_ELEMENT:
- return endpointReferenceWrapperElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java
deleted file mode 100644
index 902fd823cd..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NeighborBrokerConsumers extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java
deleted file mode 100644
index ad149e3e4f..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NeighborBrokerConsumersEnDeCoder extends EndpointReferenceSequenceEnDeCoder<NeighborBrokerConsumers> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NeighborBrokerConsumers);
-
- public NeighborBrokerConsumersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NeighborBrokerConsumers> getEncodingObjectType() {
- return NeighborBrokerConsumers.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(NeighborBrokerConsumers encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ConsumerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ConsumerSequenceType);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java
deleted file mode 100644
index 42f9e74a27..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Neighbors implements EncodingObject {
-
- private List<Broker> brokerSequence;
-
- public List<Broker> getBrokerSequence() {
- return brokerSequence;
- }
-
- public void addBrokerToSequence(Broker broker) {
- if(this.brokerSequence == null) {
- this.brokerSequence = new ArrayList<Broker>();
- }
- this.brokerSequence.add(broker);
- }
-
- public void setBrokerSequence(List<Broker> brokerSequence) {
- this.brokerSequence = brokerSequence;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java
deleted file mode 100644
index fa05e2d7bd..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NeighborsEnDeCoder extends AbstractEnDeCoder<Neighbors> {
-
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Neighbors);
-
- public NeighborsEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(Neighbors encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- if (encodingObject.getBrokerSequence() != null) {
- for (Broker broker : encodingObject.getBrokerSequence()) {
- registry.encode(broker, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public Neighbors decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- Neighbors neighborsElement = new Neighbors();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- neighborsElement.addBrokerToSequence((Broker)encodingObject);
- break;
- case END_ELEMENT:
- return neighborsElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Neighbors> getEncodingObjectType() {
-
- return Neighbors.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java
deleted file mode 100644
index 92578af219..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBroker extends AbstractBroker {
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java
deleted file mode 100644
index 48c34ba74f..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerAck implements EncodingObject {
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java
deleted file mode 100644
index c9a3f1da79..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerAckEnDeCoder extends AbstractEnDeCoder<NewBrokerAck> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewBrokerAck);
-
- public NewBrokerAckEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(NewBrokerAck encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public NewBrokerAck decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- NewBrokerAck newBrokerAck = new NewBrokerAck();
- while (true) {
- switch (reader.next()) {
- case END_ELEMENT:
- return newBrokerAck;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<NewBrokerAck> getEncodingObjectType() {
-
- return NewBrokerAck.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java
deleted file mode 100644
index 6e57ad41de..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerEnDeCoder extends AbstractBrokerEnDeCoder<NewBroker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewBroker);
-
- public NewBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<NewBroker> getEncodingObjectType() {
-
- return NewBroker.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java
deleted file mode 100644
index 6f34fc0b7c..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerResponse implements EncodingObject {
-
- private EndProducers endProducers;
- private EndConsumers endConsumers;
- private Brokers brokers;
- private boolean firstBroker;
-
- public EndProducers getEndProducers() {
- return this.endProducers;
- }
-
- public void setEndProducers(EndProducers endProducers) {
- this.endProducers = endProducers;
- }
-
- public EndConsumers getEndConsumers() {
- return this.endConsumers;
- }
-
- public void setEndConsumers(EndConsumers endConsumers) {
- this.endConsumers = endConsumers;
- }
-
- public Brokers getBrokers() {
- return this.brokers;
- }
-
- public void setBrokers(Brokers brokers) {
- this.brokers = brokers;
- }
-
- public boolean isFirstBroker() {
- return this.firstBroker;
- }
-
- public void setFirstBroker(boolean firstBroker) {
- this.firstBroker = firstBroker;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java
deleted file mode 100644
index 2ad969e1a6..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerResponseEnDeCoder extends AbstractEnDeCoder<NewBrokerResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewBrokerResponse);
-
- public NewBrokerResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(NewBrokerResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- writer.writeAttribute(Constants.FirstBroker, String.valueOf(encodingObject.isFirstBroker()));
- if (encodingObject.isFirstBroker()) {
- registry.encode(encodingObject.getEndConsumers(), writer);
- registry.encode(encodingObject.getEndProducers(), writer);
- } else {
- registry.encode(encodingObject.getBrokers(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public NewBrokerResponse decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- NewBrokerResponse newBrokerResponseElement = new NewBrokerResponse();
- boolean firstBroker = Boolean.parseBoolean(reader.getAttributeValue(null, Constants.FirstBroker));
- newBrokerResponseElement.setFirstBroker(firstBroker);
- boolean haveEC = false;
- boolean haveEP = false;
- boolean haveB = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof EndProducers && !haveEP && firstBroker) {
- newBrokerResponseElement.setEndProducers((EndProducers)encodingObject);
- haveEP = true;
- } else if(encodingObject instanceof EndConsumers && !haveEC && firstBroker) {
- newBrokerResponseElement.setEndConsumers((EndConsumers)encodingObject);
- haveEC = true;
- } else if(encodingObject instanceof Brokers && !haveB && !firstBroker) {
- newBrokerResponseElement.setBrokers((Brokers)encodingObject);
- haveB = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveEP && firstBroker) {
- throw new EncodingException("Missing end producers");
- }
- if (!haveEC && firstBroker) {
- throw new EncodingException("Missing end consumers");
- }
- if (!haveB && !firstBroker) {
- throw new EncodingException("Missing brokers");
- }
- return newBrokerResponseElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<NewBrokerResponse> getEncodingObjectType() {
-
- return NewBrokerResponse.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java
deleted file mode 100644
index a47e1f4e55..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumer extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java
deleted file mode 100644
index 8eac326019..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumerEnDeCoder extends EndpointReferenceWrapperEnDeCoder<NewConsumer> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewConsumer);
-
- public NewConsumerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewConsumer> getEncodingObjectType() {
- return NewConsumer.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java
deleted file mode 100644
index 60fb23be02..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumerResponse extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java
deleted file mode 100644
index fbcd041621..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumerResponseEnDeCoder extends EndpointReferenceSequenceEnDeCoder<NewConsumerResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewConsumerResponse);
-
- public NewConsumerResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewConsumerResponse> getEncodingObjectType() {
- return NewConsumerResponse.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(NewConsumerResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ProducerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ProducerSequenceType);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java
deleted file mode 100644
index aa9180dcd7..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducer extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java
deleted file mode 100644
index 38cf9e9467..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducerEnDeCoder extends EndpointReferenceWrapperEnDeCoder<NewProducer> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewProducer);
-
- public NewProducerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewProducer> getEncodingObjectType() {
- return NewProducer.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java
deleted file mode 100644
index 49a4259333..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducerResponse extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java
deleted file mode 100644
index 74d10fe02d..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducerResponseEnDeCoder extends EndpointReferenceSequenceEnDeCoder<NewProducerResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewProducerResponse);
-
- public NewProducerResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewProducerResponse> getEncodingObjectType() {
- return NewProducerResponse.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(NewProducerResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ConsumerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ConsumerSequenceType);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java
deleted file mode 100644
index 2ee9320f20..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReferenceProperties implements EncodingObject {
-
- private List<EncodingObject> properties;
-
- public List<EncodingObject> getProperties() {
- return properties;
- }
-
- public void addProperty(EncodingObject property) {
- if(this.properties == null) {
- this.properties = new ArrayList<EncodingObject>();
- }
- this.properties.add(property);
- }
-
- @SuppressWarnings("unchecked")
- public <E extends EncodingObject> E getProperty(Class<E> propertyType) {
- if (this.properties == null) {
- return null;
- }
- for (EncodingObject eo : properties) {
- if (propertyType.isInstance(eo)) {
- return (E)eo;
- }
- }
- return null;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java
deleted file mode 100644
index 9d06dfea97..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReferencePropertiesEnDeCoder extends AbstractEnDeCoder<ReferenceProperties> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.ADDRESSING_NS, Constants.ReferenceProperties);
-
- public ReferencePropertiesEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ReferenceProperties encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.ADDRESSING_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.ADDRESSING_PREFIX, QNAME.getNamespaceURI());
- if (encodingObject.getProperties() != null) {
- for (EncodingObject property : encodingObject.getProperties()) {
- registry.encode(property, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ReferenceProperties decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ReferenceProperties referencePropertiesElement = new ReferenceProperties();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject property = registry.decode(reader);
- referencePropertiesElement.addProperty(property);
- break;
- case END_ELEMENT:
- return referencePropertiesElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ReferenceProperties> getEncodingObjectType() {
-
- return ReferenceProperties.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java
deleted file mode 100644
index 39050d158c..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemoveBroker implements EncodingObject {
-
- private BrokerConsumerReference brokerConsumerReference;
- private NeighborBrokerConsumers neighborBrokerConsumers;
-
- public BrokerConsumerReference getBrokerConsumerReference() {
- return this.brokerConsumerReference;
- }
-
- public void setBrokerConsumerReference(BrokerConsumerReference brokerConsumerReference) {
- this.brokerConsumerReference = brokerConsumerReference;
- }
-
- public NeighborBrokerConsumers getNeighborBrokerConsumers() {
- return this.neighborBrokerConsumers;
- }
-
- public void setNeighborBrokerConsumers(NeighborBrokerConsumers neighborBrokerConsumers) {
- this.neighborBrokerConsumers = neighborBrokerConsumers;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java
deleted file mode 100644
index 97834ea0a9..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemoveBrokerEnDeCoder extends AbstractEnDeCoder<RemoveBroker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.RemoveBroker);
-
- public RemoveBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(RemoveBroker encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getBrokerConsumerReference(), writer);
- if (encodingObject.getNeighborBrokerConsumers() != null) {
- registry.encode(encodingObject.getNeighborBrokerConsumers(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public RemoveBroker decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- RemoveBroker removeBrokerElement = new RemoveBroker();
- boolean haveBCR = false;
- boolean haveNBC = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof BrokerConsumerReference && !haveBCR) {
- removeBrokerElement.setBrokerConsumerReference((BrokerConsumerReference)encodingObject);
- haveBCR = true;
- } else if(encodingObject instanceof NeighborBrokerConsumers && !haveNBC) {
- removeBrokerElement.setNeighborBrokerConsumers((NeighborBrokerConsumers)encodingObject);
- haveNBC = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveBCR) {
- throw new EncodingException("Missing broker consumer reference");
- }
- return removeBrokerElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<RemoveBroker> getEncodingObjectType() {
-
- return RemoveBroker.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java
deleted file mode 100644
index 047c5e9a58..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemovedBroker extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java
deleted file mode 100644
index 25f92c38c2..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemovedBrokerEnDeCoder extends EndpointReferenceWrapperEnDeCoder<RemovedBroker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.RemovedBroker);
-
- public RemovedBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<RemovedBroker> getEncodingObjectType() {
- return RemovedBroker.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java
deleted file mode 100644
index 8145c6b170..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReplaceBrokerConnection implements EncodingObject {
-
- private RemovedBroker removedBroker;
- private Neighbors neighbors;
-
- public RemovedBroker getRemovedBroker() {
- return this.removedBroker;
- }
-
- public void setRemovedBroker(RemovedBroker removedBroker) {
- this.removedBroker = removedBroker;
- }
-
- public Neighbors getNeighbors() {
- return this.neighbors;
- }
-
- public void setNeighbors(Neighbors neighbors) {
- this.neighbors = neighbors;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java
deleted file mode 100644
index 000f6690c7..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReplaceBrokerConnectionEnDeCoder extends AbstractEnDeCoder<ReplaceBrokerConnection> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ReplaceBrokerConnection);
-
- public ReplaceBrokerConnectionEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ReplaceBrokerConnection encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getRemovedBroker(), writer);
- if (encodingObject.getNeighbors() != null) {
- registry.encode(encodingObject.getNeighbors(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ReplaceBrokerConnection decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ReplaceBrokerConnection replaceBrokerConnectionElement = new ReplaceBrokerConnection();
- boolean haveRB = false;
- boolean haveN = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof RemovedBroker && !haveRB) {
- replaceBrokerConnectionElement.setRemovedBroker((RemovedBroker)encodingObject);
- haveRB = true;
- } else if(encodingObject instanceof Neighbors && !haveN) {
- replaceBrokerConnectionElement.setNeighbors((Neighbors)encodingObject);
- haveN = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveRB) {
- throw new EncodingException("Missing removed broker");
- }
- return replaceBrokerConnectionElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ReplaceBrokerConnection> getEncodingObjectType() {
-
- return ReplaceBrokerConnection.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java
deleted file mode 100644
index aca5c70641..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Subscribe implements EncodingObject {
-
- private ConsumerReference consumerReference;
-
- public ConsumerReference getConsumerReference() {
- return consumerReference;
- }
-
- public void setConsumerReference(ConsumerReference consumerReference) {
- this.consumerReference = consumerReference;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java
deleted file mode 100644
index 04ee132b3e..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class SubscribeEnDeCoder extends AbstractEnDeCoder<Subscribe> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Subscribe);
-
- public SubscribeEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(Subscribe encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getConsumerReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public Subscribe decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- Subscribe subscribeElement = new Subscribe();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- subscribeElement.setConsumerReference((ConsumerReference)encodingObject);
- break;
- case END_ELEMENT:
- return subscribeElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Subscribe> getEncodingObjectType() {
-
- return Subscribe.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java
deleted file mode 100644
index daac727cb6..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.util;
-
-import java.io.ByteArrayOutputStream;
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @version $Rev$ $Date$
- */
-public class IOUtils {
-
- // FIXME: For some reason, tomcat converts the header names to be lower case, see TUSCANY-1791
- public static final String Notification_Source = "notification-source";
- public static final String Notification_Target = "notification-target";
- public static final String Notification_Operation = "notification-operation";
-
- public static final int DEF_BLOCK_SIZE = 512;
-
- public static Object sendHttpRequest(URL targetURL,
- String opName,
- Writeable wbody,
- ReadableContinuation rcont) throws Exception {
- if (opName == null) {
- opName = "";
- }
- Map<String, String> headers = new HashMap<String, String>();
- headers.put(Notification_Operation, opName);
- return sendHttpRequest(targetURL, headers, wbody, rcont);
- }
-
- public static Object sendHttpRequest(URL targetURL,
- Map<String, String> headers,
- Writeable wbody,
- ReadableContinuation rcont) throws Exception {
-
- String targetUri = targetURL.toString();
- String sourceUri = "";
-
- final HttpURLConnection con = (HttpURLConnection) targetURL.openConnection();
- con.setRequestMethod("POST");
- //con.setRequestProperty("Content-Length", Integer.toString(sbody.getBytes().length));
- con.setAllowUserInteraction(false);
- con.setInstanceFollowRedirects(false);
- if (targetUri != null) {
- con.setRequestProperty(Notification_Target, targetUri);
- }
-
- if (sourceUri != null) {
- con.setRequestProperty(Notification_Source, sourceUri);
- }
-
- for (String key : headers.keySet()) {
- con.setRequestProperty(key, headers.get(key));
- }
- con.setDoOutput(true);
- con.setDoInput(true);
- con.connect();
- Object response = null;
- try {
- if (wbody != null) {
- OutputStream ost = con.getOutputStream();
- wbody.write(ost);
- } else {
- throw new IOUtilsException("Missing writeable body");
- }
- final int rc = con.getResponseCode();
- switch (rc) {
- case HttpURLConnection.HTTP_OK:
- if (rcont != null) {
- InputStream ist = con.getInputStream();
- response = rcont.read(ist);
- }
- break;
- case HttpURLConnection.HTTP_NO_CONTENT:
- break;
- default:
- throw new RuntimeException("Unexpected response code: " + rc);
- }
- } finally {
- con.disconnect();
- }
- return response;
- }
-
- public interface Writeable {
- void write(OutputStream os) throws IOUtilsException;
- }
-
- public interface ReadableContinuation {
- Object read(InputStream is) throws IOUtilsException;
- }
-
- @SuppressWarnings("serial")
- public static class IOUtilsException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public IOUtilsException(String message) {
- super(message);
- }
-
- public IOUtilsException(Throwable cause) {
- super(cause);
- }
- }
-
- public static byte [] readFully(final InputStream ist, int len) throws IOException {
- ByteArrayOutputStream baost = new ByteArrayOutputStream();
- copyStream(ist,baost,len);
- return baost.toByteArray();
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost) throws IOException {
- return copyStream(ist, ost, -1, 0);
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost, int length) throws IOException {
- return copyStream(ist, ost, length, 0);
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost, final int length, int blockSize) throws IOException {
-
- int cbCopied = 0;
- if (blockSize <= 0) {
- blockSize = DEF_BLOCK_SIZE;
- }
-
- final byte[] block = new byte[blockSize];
- boolean done = length == 0;
- while (!done) {
- try {
- // determine how many bytes to read
- final int cbToRead = length == -1 ? block.length : (Math.min(length - cbCopied, block.length));
- final int cbRead = ist.read(block, 0, cbToRead);
- if (cbRead == -1) {
- done = true;
- } else {
- ost.write(block, 0, cbRead);
- cbCopied += cbRead;
- done = cbCopied == length;
- }
- } catch (final EOFException e) {
- done = true;
- }
- }
- ost.flush();
- return cbCopied;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java
deleted file mode 100644
index f780514eda..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.util;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-
-/**
- * Receives notification in HTTP request and dispatches it down the wire
- *
- * @version $Rev$ $Date$
- */
-@SuppressWarnings("serial")
-public class NotificationServlet extends HttpServlet {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private NotificationServletHandler handler;
- private NotificationServletStreamHandler servletStreamHandler;
-
- public NotificationServlet(NotificationServletHandler handler) {
- this.handler = handler;
- this.servletStreamHandler = null;
- }
-
- public NotificationServlet(NotificationServletStreamHandler servletStreamHandler) {
- this.handler = null;
- this.servletStreamHandler = servletStreamHandler;
- }
-
- @Override
- public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
- HashMap<String, String> headers = new HashMap<String, String>();
- Enumeration headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()) {
- String headerName = (String)headerNames.nextElement();
- headers.put(headerName, request.getHeader(headerName));
- }
- if (handler != null) {
- byte[] requestBody = IOUtils.readFully(request.getInputStream(), request.getContentLength());
- byte[] handlersResponse = handler.handle(headers, requestBody);
- if (handlersResponse != null) {
- response.getOutputStream().write(handlersResponse);
- response.getOutputStream().flush();
- }
- } else {
- try {
- servletStreamHandler.handle(headers, request.getInputStream(), request.getContentLength(), response.getOutputStream());
- } catch(RuntimeException e) {
- e.printStackTrace();
- }
- }
- }
-
- public interface NotificationServletHandler {
- byte[] handle(Map<String, String> headers, byte[] payload);
- }
-
- public interface NotificationServletStreamHandler {
- void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream);
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java b/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java
deleted file mode 100644
index 42ccd5cdac..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.util;
-
-import java.net.URI;
-
-/**
- * @version $Rev$ $Date$
- */
-public class URIUtil {
-
- public static String getPath(URI uri) {
- String path = null;
-
- if (uri.isOpaque()) {
- path = "/" + uri.getSchemeSpecificPart();
- } else if (uri.isAbsolute()) {
- path = uri.getPath();
- } else {
- path = "/" + uri.getPath();
- }
-
- return path;
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-android/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
deleted file mode 100644
index 5e5ce97054..0000000000
--- a/branches/sca-android/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.binding.notification.NotificationBindingModuleActivator
diff --git a/branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java b/branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java
deleted file mode 100644
index 3d328339a7..0000000000
--- a/branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.io.ByteArrayInputStream;
-import java.io.StringWriter;
-
-import junit.framework.TestCase;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.junit.Assert;
-
-public class AxiomTestCase extends TestCase {
-
- private static String wsnt = "http://docs.oasis-open.org/wsn/b-2";
- private static String wsa = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
- private static String testUrl1 = "http://localhost:8081/test";
- private static String testUrl2 = "http://localhost:8082/test";
- private static String testNewProducerResponse =
- "<wsnt:NewProducerResponse xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"EndConsumers\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsnt:NewProducerResponse>";
-
- public void testAxiom() {
- try {
- StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(testNewProducerResponse.getBytes()));
- OMElement element = builder.getDocumentElement();
- Assert.assertNotNull(element);
-
- StringWriter sw = new StringWriter();
- element.serialize(sw);
- sw.flush();
- Assert.assertEquals(sw.toString(),testNewProducerResponse);
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java b/branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java
deleted file mode 100644
index 3dcd2b9b00..0000000000
--- a/branches/sca-android/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java
+++ /dev/null
@@ -1,470 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Iterator;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EncodingTestCase extends TestCase {
-
- private static String wsnt = "http://docs.oasis-open.org/wsn/b-2";
- private static String wsa = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
- private static String testUrl = "http://localhost:8080/test";
- private static String testUrl1 = "http://localhost:8081/test";
- private static String testUrl2 = "http://localhost:8082/test";
- private static String bid1 = "UUID1";
- private static String bid2 = "UUID2";
- private static String testSubscribe =
- "<wsnt:Subscribe xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:ConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:ConsumerReference>" +
- "</wsnt:Subscribe>";
- private static String testNewConsumerResponse =
- "<wsnt:NewConsumerResponse xmlns:wsnt=\"" + wsnt + "\" ProducerSequenceType=\"EndProducers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:NewConsumerResponse>";
- private static String testNewProducerResponse =
- "<wsnt:NewProducerResponse xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"EndConsumers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:NewProducerResponse>";
- private static String testNoProducersResponse =
- "<wsnt:NewConsumerResponse xmlns:wsnt=\"" + wsnt + "\" ProducerSequenceType=\"NoProducers\" />";
- private static String testNewBroker =
- "<wsnt:NewBroker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:BrokerProducerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid2 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerProducerReference>" +
- "</wsnt:NewBroker>";
- private static String testNewBrokerResponse1 =
- "<wsnt:NewBrokerResponse xmlns:wsnt=\"" + wsnt + "\" FirstBroker=\"true\">" +
- "<wsnt:EndConsumers xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"EndConsumers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:EndConsumers>" +
- "<wsnt:EndProducers xmlns:wsnt=\"" + wsnt + "\" ProducerSequenceType=\"NoProducers\" />" +
- "</wsnt:NewBrokerResponse>";
- private static String testNewBrokerResponse2 =
- "<wsnt:NewBrokerResponse xmlns:wsnt=\"" + wsnt + "\" FirstBroker=\"false\">" +
- "<wsnt:Brokers xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:Broker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:BrokerProducerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid2 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerProducerReference>" +
- "</wsnt:Broker>" +
- "</wsnt:Brokers>" +
- "</wsnt:NewBrokerResponse>";
- private static String testRemoveBroker =
- "<wsnt:RemoveBroker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:NeighborBrokerConsumers xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"BrokerConsumers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:NeighborBrokerConsumers>" +
- "</wsnt:RemoveBroker>";
- private static String testReplaceBrokerConnection =
- "<wsnt:ReplaceBrokerConnection xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:RemovedBroker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:RemovedBroker>" +
- "<wsnt:Neighbors xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:Broker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:BrokerProducerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid2 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerProducerReference>" +
- "</wsnt:Broker>" +
- "</wsnt:Neighbors>" +
- "</wsnt:ReplaceBrokerConnection>";
-
- public void testSubscribe() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- SubscribeEnDeCoder sed = new SubscribeEnDeCoder(der);
- sed.start();
- ConsumerReferenceEnDeCoder cred = new ConsumerReferenceEnDeCoder(der);
- cred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testSubscribe));
- reader.next();
- Subscribe subscribe = (Subscribe)der.decode(reader);
- Assert.assertEquals(subscribe.getConsumerReference().getReference().getEndpointAddress().getAddress().toString(), testUrl);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(subscribe, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testSubscribe);
- }
-
- public void testNewConsumerResponse() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewConsumerResponseEnDeCoder ncred = new NewConsumerResponseEnDeCoder(der);
- ncred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewConsumerResponse));
- reader.next();
- NewConsumerResponse newConsumerResponse = (NewConsumerResponse)der.decode(reader);
- Assert.assertEquals(newConsumerResponse.getSequenceType(), "EndProducers");
- Assert.assertEquals(newConsumerResponse.getReferenceSequence().iterator().next().getEndpointAddress().getAddress().toString(),
- testUrl);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newConsumerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewConsumerResponse);
- }
-
- public void testNoProducersResponse() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewConsumerResponseEnDeCoder ncred = new NewConsumerResponseEnDeCoder(der);
- ncred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNoProducersResponse));
- reader.next();
- NewConsumerResponse newConsumerResponse = (NewConsumerResponse)der.decode(reader);
- Assert.assertEquals(newConsumerResponse.getSequenceType(), "NoProducers");
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newConsumerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNoProducersResponse);
- }
-
- public void testNewProducerResponse() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewProducerResponseEnDeCoder npred = new NewProducerResponseEnDeCoder(der);
- npred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewProducerResponse));
- reader.next();
- NewProducerResponse newProducerResponse = (NewProducerResponse)der.decode(reader);
- Assert.assertEquals(newProducerResponse.getSequenceType(), "EndConsumers");
- Iterator<EndpointReference> it = newProducerResponse.getReferenceSequence().iterator();
- it.next();
- Assert.assertEquals(it.next().getEndpointAddress().getAddress().toString(), testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newProducerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewProducerResponse);
- }
-
- public void testNewBroker() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewBrokerEnDeCoder nbed = new NewBrokerEnDeCoder(der);
- nbed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
- BrokerProducerReferenceEnDeCoder bpred = new BrokerProducerReferenceEnDeCoder(der);
- bpred.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewBroker));
- reader.next();
- NewBroker newBroker = (NewBroker)der.decode(reader);
- Assert.assertEquals(newBroker.getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl1);
- Assert.assertEquals(newBroker.getBrokerProducerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newBroker, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewBroker);
- }
-
- public void testNewBrokerRespnse1() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewBrokerResponseEnDeCoder nbred = new NewBrokerResponseEnDeCoder(der);
- nbred.start();
- EndProducersEnDeCoder epred = new EndProducersEnDeCoder(der);
- epred.start();
- EndConsumersEnDeCoder ecred = new EndConsumersEnDeCoder(der);
- ecred.start();
- EndpointReferenceEnDeCoder ered = new EndpointReferenceEnDeCoder(der);
- ered.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewBrokerResponse1));
- reader.next();
- NewBrokerResponse newBrokerResponse = (NewBrokerResponse)der.decode(reader);
- Assert.assertFalse(!newBrokerResponse.isFirstBroker());
- Assert.assertEquals(newBrokerResponse.getEndProducers().getSequenceType(), "NoProducers");
- Assert.assertEquals(newBrokerResponse.getEndConsumers().getSequenceType(), "EndConsumers");
- Assert.assertEquals(newBrokerResponse.getEndConsumers().getReferenceSequence().get(0).getEndpointAddress().getAddress().toString(),
- testUrl1);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newBrokerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewBrokerResponse1);
- }
-
- public void testNewBrokerRespnse2() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewBrokerResponseEnDeCoder nbred = new NewBrokerResponseEnDeCoder(der);
- nbred.start();
- BrokersEnDeCoder bsed = new BrokersEnDeCoder(der);
- bsed.start();
- BrokerEnDeCoder bed = new BrokerEnDeCoder(der);
- bed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- BrokerProducerReferenceEnDeCoder bpred = new BrokerProducerReferenceEnDeCoder(der);
- bpred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewBrokerResponse2));
- reader.next();
- NewBrokerResponse newBrokerResponse = (NewBrokerResponse)der.decode(reader);
- Assert.assertFalse(newBrokerResponse.isFirstBroker());
- Assert.assertEquals(newBrokerResponse.getBrokers().getBrokerSequence().get(0)
- .getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl1);
- Assert.assertEquals(newBrokerResponse.getBrokers().getBrokerSequence().get(0)
- .getBrokerProducerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newBrokerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewBrokerResponse2);
- }
-
- public void testRemoveBroker() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- RemoveBrokerEnDeCoder rbed = new RemoveBrokerEnDeCoder(der);
- rbed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
- NeighborBrokerConsumersEnDeCoder nbced = new NeighborBrokerConsumersEnDeCoder(der);
- nbced.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testRemoveBroker));
- reader.next();
- RemoveBroker removeBroker = (RemoveBroker)der.decode(reader);
- Assert.assertEquals(removeBroker.getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl);
- NeighborBrokerConsumers neighborBrokerConsumers = removeBroker.getNeighborBrokerConsumers();
- Assert.assertEquals(neighborBrokerConsumers.getSequenceType(), "BrokerConsumers");
- Iterator<EndpointReference> it = neighborBrokerConsumers.getReferenceSequence().iterator();
- it.next();
- Assert.assertEquals(it.next().getEndpointAddress().getAddress().toString(), testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(removeBroker, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testRemoveBroker);
- }
-
- public void testReplaceBrokerConnection() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- ReplaceBrokerConnectionEnDeCoder rbced = new ReplaceBrokerConnectionEnDeCoder(der);
- rbced.start();
- RemovedBrokerEnDeCoder rbed = new RemovedBrokerEnDeCoder(der);
- rbed.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
- BrokerEnDeCoder bed = new BrokerEnDeCoder(der);
- bed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- BrokerProducerReferenceEnDeCoder bpred = new BrokerProducerReferenceEnDeCoder(der);
- bpred.start();
- NeighborsEnDeCoder nced = new NeighborsEnDeCoder(der);
- nced.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testReplaceBrokerConnection));
- reader.next();
- ReplaceBrokerConnection replaceBrokerConnection = (ReplaceBrokerConnection)der.decode(reader);
- Assert.assertEquals(replaceBrokerConnection.getRemovedBroker().getReference().getEndpointAddress().getAddress().toString(),
- testUrl);
- Neighbors neighbors = replaceBrokerConnection.getNeighbors();
- Assert.assertEquals(neighbors.getBrokerSequence().get(0)
- .getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl1);
- Assert.assertEquals(neighbors.getBrokerSequence().get(0)
- .getBrokerProducerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(replaceBrokerConnection, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testReplaceBrokerConnection);
- }
-}
diff --git a/branches/sca-android/modules/binding-sca-jms/LICENSE b/branches/sca-android/modules/binding-sca-jms/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/binding-sca-jms/META-INF/README b/branches/sca-android/modules/binding-sca-jms/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/binding-sca-jms/NOTICE b/branches/sca-android/modules/binding-sca-jms/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/binding-sca-jms/pom.xml b/branches/sca-android/modules/binding-sca-jms/pom.xml
deleted file mode 100644
index 680928ad55..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/pom.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-sca-jms</artifactId>
- <name>Apache Tuscany SCA JMS-based Default Binding Extension</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jms-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.activemq</groupId>
- <artifactId>activemq-core</artifactId>
- <version>5.1.0</version>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-endpoint</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.sca.jms</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.sca.jms*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java b/branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java
deleted file mode 100644
index 6c13b550ba..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.sca.jms;
-
-import java.net.URI;
-
-import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.broker.TransportConnector;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ModuleActivator;
-
-/**
- * The JMS broker for the JMS based SCA binding
- * TODO: configure from a binding.jms in definitions.xml
- */
-public class JMSBroker implements ModuleActivator {
-
- // this is static so that there is only one broker per JVM
- // if that wasn't the case then to use the vm: transport each broker
- // would need a unique name and clients would need to know the name
- private static BrokerService broker;
-
- public void start(ExtensionPointRegistry arg0) {
- if (broker == null) {
- broker = new BrokerService();
- broker.setPersistent(false);
- broker.setUseJmx(false);
- try {
-
- TransportConnector tc = broker.addConnector("tcp://localhost:0");
- tc.setDiscoveryUri(URI.create("multicast://default"));
-
- broker.addNetworkConnector("multicast://default");
-
- broker.start();
-
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- public void stop(ExtensionPointRegistry arg0) {
- if (broker != null) {
- try {
- broker.stop();
- broker = null;
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
-}
diff --git a/branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java b/branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java
deleted file mode 100644
index cfb14e6d56..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.binding.sca.jms;
-
-import org.apache.tuscany.sca.binding.jms.impl.JMSBinding;
-import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants;
-import org.apache.tuscany.sca.binding.jms.provider.JMSBindingReferenceBindingProvider;
-import org.apache.tuscany.sca.binding.jms.provider.JMSBindingServiceBindingProvider;
-import org.apache.tuscany.sca.binding.sca.DistributedSCABinding;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.work.WorkScheduler;
-
-/**
- * The factory for the JMS based implementation of the distributed sca binding
- */
-public class JMSSCABindingProviderFactory implements BindingProviderFactory<DistributedSCABinding> {
-
- private WorkScheduler workScheduler;
- private ExtensionPointRegistry extensionPoints;
-
- public JMSSCABindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- workScheduler = utilities.getUtility(WorkScheduler.class);
- assert workScheduler != null;
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- DistributedSCABinding binding) {
- JMSBinding jmsBinding = createBinding(binding);
-
- // FIXME: CREATE_NEVER doesn't work as the dynamically created JNDI destinations
- // aren't replicated around the broker cluster. Maybe it needs an AMQ specific
- // impl of the Tuscany JMSResourceFactory which uses use physical destinations
- // instead of JNDI
- // jmsBinding.setDestinationCreate(JMSBindingConstants.CREATE_NEVER);
-
- return new JMSBindingReferenceBindingProvider(component, reference, jmsBinding, extensionPoints);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- DistributedSCABinding binding) {
- JMSBinding jmsBinding = createBinding(binding);
- jmsBinding.setDestinationCreate(JMSBindingConstants.CREATE_ALWAYS);
- return new JMSBindingServiceBindingProvider(component, service, binding.getSCABinding(), jmsBinding, workScheduler, extensionPoints);
- }
-
- private JMSBinding createBinding(DistributedSCABinding binding) {
- JMSBinding b = new JMSBinding();
- b.setInitialContextFactoryName("org.apache.activemq.jndi.ActiveMQInitialContextFactory");
- b.setJndiURL("vm://localhost"); // TODO: plug in jndi url from definitions.xml
- b.setRequestMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME);
- b.setResponseMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME);
- if (binding.getSCABinding().getURI().startsWith("/")) {
- b.setDestinationName(binding.getSCABinding().getURI().substring(1));
- } else {
- b.setDestinationName(binding.getSCABinding().getURI());
- }
- return b;
- }
-
- public Class<DistributedSCABinding> getModelType() {
- return DistributedSCABinding.class;
- }
-}
diff --git a/branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
deleted file mode 100644
index f1b9825130..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-org.apache.tuscany.sca.binding.sca.jms.JMSBroker
diff --git a/branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
deleted file mode 100644
index 8e53649af1..0000000000
--- a/branches/sca-android/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.sca.jms.JMSSCABindingProviderFactory;model=org.apache.tuscany.sca.binding.sca.DistributedSCABinding
diff --git a/branches/sca-android/modules/contribution-groovy/LICENSE b/branches/sca-android/modules/contribution-groovy/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/contribution-groovy/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/contribution-groovy/META-INF/README b/branches/sca-android/modules/contribution-groovy/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/contribution-groovy/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/contribution-groovy/NOTICE b/branches/sca-android/modules/contribution-groovy/NOTICE
deleted file mode 100644
index aeeca5ef8d..0000000000
--- a/branches/sca-android/modules/contribution-groovy/NOTICE
+++ /dev/null
@@ -1,8 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product uses Relax WS (http://code.google.com/p/relax-ws/) with the following copyright:
- * Copyright 2008 Jason Sando
diff --git a/branches/sca-android/modules/contribution-groovy/pom.xml b/branches/sca-android/modules/contribution-groovy/pom.xml
deleted file mode 100644
index dafcf42628..0000000000
--- a/branches/sca-android/modules/contribution-groovy/pom.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-contribution-groovy</artifactId>
- <name>Apache Tuscany SCA Groovy contributions</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-all-minimal</artifactId>
- <version>1.5.4</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.groovy</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.contribution.groovy*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java b/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java
deleted file mode 100644
index 77dab193b9..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.groovy;
-
-import java.net.URL;
-
-/**
- * GroovyArtifact holds the URL to the Groovy script.
- *
- * @version $Rev$ $Date$
- */
-public class GroovyArtifact {
-
- private URL artifactURL;
-
- public GroovyArtifact(URL artifactURL) {
- this.artifactURL = artifactURL;
- }
-
- public URL getArtifactURL() {
- return artifactURL;
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java b/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java
deleted file mode 100644
index 4b7df4d9f8..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.groovy;
-
-import java.net.URI;
-import java.net.URL;
-
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-/**
- * A URLArtifactProcessor for Groovy scripts
- *
- * @version $Rev$ $Date$
- */
-public class GroovyArtifactProcessor implements URLArtifactProcessor<GroovyArtifact> {
-
- public GroovyArtifactProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
- }
-
- public GroovyArtifact read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException {
- return new GroovyArtifact(artifactURL);
- }
-
- public String getArtifactType() {
- return ".groovy";
- }
-
- public Class<GroovyArtifact> getModelType() {
- return GroovyArtifact.class;
- }
-
- public void resolve(GroovyArtifact groovyModel, ModelResolver arg1) throws ContributionResolveException {
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java b/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java
deleted file mode 100644
index 82fe0326df..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.groovy;
-
-import groovy.lang.GroovyClassLoader;
-
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-
-/**
- * A ModelResolver that compiles Groovy scripts into the contribution
- * class loader so they can be used just like a regular java class.
- *
- * @version $Rev$ $Date$
- */
-public class GroovyModelResolver implements ModelResolver {
-
- protected ModelResolver modelresolver;
- protected Contribution contribution;
-
- public GroovyModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) {
- modelresolver = contribution.getModelResolver();
- this.contribution = contribution;
- }
-
- public void addModel(Object model) {
- ClassLoader cl = contribution.getClassLoader();
- if (!(cl instanceof GroovyClassLoader)) {
- // replace the contribution class loader with a Groovy one
- // If the contribution does not have a ClassLoader, use this ClassLoader as parent
- if (cl == null) cl = this.getClass().getClassLoader();
- cl = new GroovyClassLoader(cl);
- contribution.setClassLoader(cl);
- }
- try {
-
- ((GroovyClassLoader)cl).parseClass(((GroovyArtifact)model).getArtifactURL().openStream());
-
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public Object removeModel(Object arg0) {
- return null;
- }
-
- public <T> T resolveModel(Class<T> arg0, T arg1) {
- return null;
- }
-}
diff --git a/branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor
deleted file mode 100644
index f9dbee53bb..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.contribution.groovy.GroovyArtifactProcessor;type=.groovy,model=org.apache.tuscany.sca.contribution.groovy.GroovyArtifact
-
diff --git a/branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
deleted file mode 100644
index 86434ac4bf..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-org.apache.tuscany.sca.contribution.groovy.GroovyModelResolver;model=org.apache.tuscany.sca.contribution.groovy.GroovyArtifact
diff --git a/branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java b/branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java
deleted file mode 100644
index 788c42f07d..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.groovy;
-
-/**
- * HelloWorld Service interface used for testing.
- *
- * @version $Rev$ $Date$
- */
-public interface HelloWorld {
-
- String sayHello(String s);
-
-}
diff --git a/branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java b/branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java
deleted file mode 100644
index 02be3acd23..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.groovy;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Runs a distributed domain in a single VM by using and in memory implementation of the distributed domain
- *
- * @version $Rev$ $Date$
- */
-public class HelloWorldTestCase {
-
- private static HelloWorld helloWorld;
- private static SCADomain scaDomain;
-
- @BeforeClass
- public static void init() throws Exception {
- scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/contribution/groovy/helloworld.composite");
- helloWorld = scaDomain.getService(HelloWorld.class, "HelloWolrdComponent");
- }
-
- @AfterClass
- public static void destroy() throws Exception {
- if (scaDomain != null) {
- scaDomain.close();
- }
- }
-
- @Test
- public void testCalculator() throws Exception {
- Assert.assertEquals("Hello Petra", helloWorld.sayHello("Petra"));
- }
-}
diff --git a/branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy b/branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy
deleted file mode 100644
index c172528538..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.groovy
-
-class HelloWorldImpl implements org.apache.tuscany.sca.contribution.groovy.HelloWorld {
-
- String sayHello(String you) {
- return "Hello $you"
- }
-
-} \ No newline at end of file
diff --git a/branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite b/branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite
deleted file mode 100644
index 0d4c17a15b..0000000000
--- a/branches/sca-android/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- name="HelloWorld">
-
- <component name="HelloWolrdComponent">
- <implementation.java class="org.apache.tuscany.sca.contribution.groovy.HelloWorldImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/contribution-jee/LICENSE b/branches/sca-android/modules/contribution-jee/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/contribution-jee/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/contribution-jee/META-INF/README b/branches/sca-android/modules/contribution-jee/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/contribution-jee/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/contribution-jee/NOTICE b/branches/sca-android/modules/contribution-jee/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/contribution-jee/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/contribution-jee/pom.xml b/branches/sca-android/modules/contribution-jee/pom.xml
deleted file mode 100644
index d7ad035d82..0000000000
--- a/branches/sca-android/modules/contribution-jee/pom.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-contribution-jee</artifactId>
- <name>Apache Tuscany SCA Java EE</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-ejb</artifactId>
- <version>1.4-SNAPSHOT</version>
- <!--scope>runtime</scope-->
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-web</artifactId>
- <version>1.4-SNAPSHOT</version>
- <!--scope>runtime</scope-->
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-jee</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.openejb</groupId>
- <artifactId>openejb-core</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.openejb</groupId>
- <artifactId>openejb-jee</artifactId>
- <version>3.0</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.jee</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.contribution.jee*</Export-Package>
- <DynamicImport-Package>org.apache.tuscany.sca.contribution.osgi.impl</DynamicImport-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java b/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java
deleted file mode 100644
index 547ba52e74..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.CompositeReference;
-import org.apache.tuscany.sca.assembly.CompositeService;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
-import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-
-/**
- * @version $Rev$ $Date$
- */
-public class AssemblyHelper {
- private AssemblyFactory af;
- private JavaInterfaceFactory jif;
-
- public static final Map<String, QName> ALLOWED_ENV_ENTRY_TYPES;
- public static final Intent CONVERSATIONAL_INTENT;
- public static final Intent EJB_INTENT;
- static {
- ALLOWED_ENV_ENTRY_TYPES = new HashMap<String, QName>();
- ALLOWED_ENV_ENTRY_TYPES.put(String.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "string",
- "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Character.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "string",
- "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Byte.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "byte", "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Short.class.getName(),
- new QName("http://www.w3.org/2001/XMLSchema", "short", "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Integer.class.getName(),
- new QName("http://www.w3.org/2001/XMLSchema", "int", "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Long.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "long", "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Boolean.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "boolean",
- "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Double.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "double",
- "xsd"));
- ALLOWED_ENV_ENTRY_TYPES.put(Float.class.getName(),
- new QName("http://www.w3.org/2001/XMLSchema", "float", "xsd"));
- }
-
- static {
- PolicyFactory dpf = new DefaultPolicyFactory();
- CONVERSATIONAL_INTENT = dpf.createIntent();
- CONVERSATIONAL_INTENT.setName(new QName("http://www.osoa.org/xmlns/sca/1.0", "conversational"));
-
- EJB_INTENT = dpf.createIntent();
- EJB_INTENT.setName(new QName("http://www.osoa.org/xmlns/sca/1.0", "ejb"));
- }
-
- public AssemblyHelper() {
- super();
- af = new DefaultAssemblyFactory();
- jif = new DefaultJavaInterfaceFactory();
- }
-
- public AssemblyHelper(AssemblyFactory af, JavaInterfaceFactory jif) {
- super();
- this.af = af;
- this.jif = jif;
- }
-
- public JavaInterfaceContract createInterfaceContract(Class<?> clazz) throws InvalidInterfaceException {
- JavaInterface ji = jif.createJavaInterface(clazz);
- JavaInterfaceContract jic = jif.createJavaInterfaceContract();
- jic.setInterface(ji);
-
- return jic;
- }
-
- public ComponentService createComponentService() {
- return af.createComponentService();
- }
-
- public ComponentReference createComponentReference() {
- return af.createComponentReference();
- }
-
- public ComponentProperty createComponentProperty() {
- return af.createComponentProperty();
- }
-
- public ComponentType createComponentType() {
- return af.createComponentType();
- }
-
- public Component createComponentFromComponentType(ComponentType componentType, String componentName) {
- Component component = af.createComponent();
- component.setName(componentName);
-
- for (Service service : componentType.getServices()) {
- ComponentService compService = af.createComponentService();
- compService.setService(service);
- component.getServices().add(compService);
- }
-
- for (Reference reference : componentType.getReferences()) {
- ComponentReference compReference = af.createComponentReference();
- compReference.setReference(reference);
- component.getReferences().add(compReference);
- }
-
- for (Property property : componentType.getProperties()) {
- ComponentProperty compProperty = af.createComponentProperty();
- compProperty.setProperty(property);
- component.getProperties().add(compProperty);
- }
- return component;
- }
-
- public Composite createComposite() {
- return af.createComposite();
- }
-
- public Component createComponent() {
- return af.createComponent();
- }
-
- public CompositeReference createCompositeReference() {
- return af.createCompositeReference();
- }
-
- public CompositeService createCompositeService() {
- return af.createCompositeService();
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java b/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java
deleted file mode 100644
index 34b54ed238..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.openejb.config.EjbModule;
-import org.apache.openejb.jee.EjbJar;
-import org.apache.openejb.jee.EjbRef;
-import org.apache.openejb.jee.EjbReference;
-import org.apache.openejb.jee.EnterpriseBean;
-import org.apache.openejb.jee.EnvEntry;
-import org.apache.openejb.jee.MessageDrivenBean;
-import org.apache.openejb.jee.SessionBean;
-import org.apache.openejb.jee.SessionType;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.CompositeReference;
-import org.apache.tuscany.sca.assembly.CompositeService;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionException;
-import org.apache.tuscany.sca.implementation.ejb.EJBImplementation;
-import org.apache.tuscany.sca.implementation.ejb.EJBImplementationFactory;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EJBModuleProcessor {
- private EjbModule ejbModule;
- private AssemblyHelper helper;
- private Map<String, List<String>> intfToBean = new HashMap<String, List<String>>();
- private List<String> statefulBeans = new ArrayList<String>();
-
- public EJBModuleProcessor(EjbModule ejbModule, AssemblyHelper helper) {
- super();
- this.ejbModule = ejbModule;
- this.helper = helper;
- }
-
- public EJBModuleProcessor(EjbModule ejbModule) {
- this.ejbModule = ejbModule;
- this.helper = new AssemblyHelper();
- }
-
- public Map<String, ComponentType> getEjbComponentTypes() throws ContributionException {
- intfToBean.clear();
- statefulBeans.clear();
- Map<String, ComponentType> ejbComponentTypes = new HashMap<String, ComponentType>();
-
- EjbJar ejbJar = ejbModule.getEjbJar();
- if (!ejbJar.getVersion().startsWith("3")) {
- // Not an EJB3 module
- // TODO: should throw an exception
- }
-
- Map<String, EnterpriseBean> beansMap = ejbJar.getEnterpriseBeansByEjbName();
- for (Map.Entry<String, EnterpriseBean> entry : beansMap.entrySet()) {
- EnterpriseBean bean = entry.getValue();
- ComponentType ct = null;
- if (bean instanceof SessionBean) {
- SessionBean sbean = (SessionBean)bean;
- ct = getEjbComponentType(sbean, ejbModule.getClassLoader());
- } else if (bean instanceof MessageDrivenBean) {
- MessageDrivenBean mdbean = (MessageDrivenBean)bean;
- ct = getEjbComponentType(mdbean, ejbModule.getClassLoader());
- } else {
- continue;
- }
- ejbComponentTypes.put(bean.getEjbName(), ct);
- }
-
- // Adjust the references to STATEFUL beans
- for (Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) {
- ComponentType ct = entry.getValue();
- for (Reference reference : ct.getReferences()) {
- String intf = ((JavaInterface)reference.getInterfaceContract().getInterface()).getName();
- for (String bean : intfToBean.get(intf)) {
- if (statefulBeans.contains(bean)) {
- reference.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT);
- break;
- }
- }
- }
- }
-
- return ejbComponentTypes;
- }
-
- public ComponentType getEjbAppComponentType() throws ContributionException {
- ComponentType componentType = helper.createComponentType();
-
- Map<String, ComponentType> ejbComponentTypes = getEjbComponentTypes();
-
- for (Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) {
- String beanName = entry.getKey();
- ComponentType ejbComponentType = entry.getValue();
-
- for (Service service : ejbComponentType.getServices()) {
- Service service2 = helper.createComponentService();
- service2.setName(beanName + "_" + service.getName());
- service2.setInterfaceContract(service.getInterfaceContract());
- service2.getRequiredIntents().addAll(service.getRequiredIntents());
-
- componentType.getServices().add(service2);
- }
-
- for (Reference reference : ejbComponentType.getReferences()) {
- Reference reference2 = helper.createComponentReference();
- reference2.setName(beanName + "_" + reference.getName());
- reference2.setInterfaceContract(reference.getInterfaceContract());
- reference2.getRequiredIntents().addAll(reference.getRequiredIntents());
-
- componentType.getReferences().add(reference2);
- }
- }
-
- return componentType;
- }
-
- public Composite getEjbAppComposite() throws ContributionException {
- Composite composite = helper.createComposite();
-
- Map<String, ComponentType> ejbComponentTypes = getEjbComponentTypes();
-
- ModelFactoryExtensionPoint mfep = new DefaultModelFactoryExtensionPoint();
- EJBImplementationFactory eif = mfep.getFactory(EJBImplementationFactory.class);
-
- for (Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) {
- String ejbName = entry.getKey();
- ComponentType componentType = entry.getValue();
-
- EJBImplementation impl = eif.createEJBImplementation();
- impl.setEJBLink(ejbModule.getModuleId() + "#" + ejbName);
- // Create component
- Component component = helper.createComponent();
- String componentName = ejbName;
- component.setName(componentName);
- component.setImplementation(impl);
-
- // Add services
- for (Service service : componentType.getServices()) {
- ComponentService componentService = helper.createComponentService();
- componentService.setService(service);
- componentService.setInterfaceContract(service.getInterfaceContract());
- component.getServices().add(componentService);
- }
-
- // Add references
- for (Reference reference : componentType.getReferences()) {
- ComponentReference componentReference = helper.createComponentReference();
- componentReference.setReference(reference);
- componentReference.setInterfaceContract(reference.getInterfaceContract());
- componentReference.getRequiredIntents().addAll(reference.getRequiredIntents());
- component.getReferences().add(componentReference);
- }
-
- // Add properties
- for (Property property : componentType.getProperties()) {
- ComponentProperty componentProperty = helper.createComponentProperty();
- componentProperty.setProperty(property);
- component.getProperties().add(componentProperty);
- }
-
- // Add component
- composite.getComponents().add(component);
-
- // Add composite services
- for (ComponentService service : component.getServices()) {
- CompositeService compositeService = helper.createCompositeService();
- compositeService.setInterfaceContract(service.getInterfaceContract());
- compositeService.setPromotedComponent(component);
- compositeService.setPromotedService(service);
- composite.getServices().add(compositeService);
- }
-
- // Add composite references
- for (ComponentReference reference : component.getReferences()) {
- CompositeReference compositeReference = helper.createCompositeReference();
- compositeReference.setInterfaceContract(reference.getInterfaceContract());
- compositeReference.getRequiredIntents().addAll(reference.getRequiredIntents());
- compositeReference.getPromotedReferences().add(reference);
- composite.getReferences().add(compositeReference);
- }
- }
- return composite;
- }
-
- private ComponentType getEjbComponentType(SessionBean bean, ClassLoader cl) throws ContributionException {
- ComponentType componentType = helper.createComponentType();
-
- boolean conversational = bean.getSessionType().equals(SessionType.STATEFUL);
- if (conversational) {
- statefulBeans.add(bean.getEjbName());
- }
-
- // Process Remote Business interfaces of the SessionBean
- for (String intfName : bean.getBusinessRemote()) {
- // This code is added to take care of EJB references to STATEFUL beans that are injected
- // without a beanname in @EJB annotation
- List<String> beansList = intfToBean.get(intfName);
- if (beansList == null) {
- beansList = new ArrayList<String>();
- intfToBean.put(intfName, beansList);
- }
- beansList.add(bean.getEjbName());
-
- String serviceName =
- intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName;
- Service service = helper.createComponentService();
- service.setName(serviceName);
- InterfaceContract ic = null;
- try {
- Class<?> clazz = cl.loadClass(intfName);
- ic = helper.createInterfaceContract(clazz);
- ic.getInterface().setConversational(conversational);
- ic.getInterface().setRemotable(true);
- } catch (Exception e) {
- throw new ContributionException(e);
- }
- service.setInterfaceContract(ic);
- if (conversational) {
- service.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT);
- }
- componentType.getServices().add(service);
- }
-
- // Process Local Business interfaces of the SessionBean
- for (String intfName : bean.getBusinessLocal()) {
- String serviceName =
- intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName;
- Service service = helper.createComponentService();
- service.setName(serviceName);
- InterfaceContract ic = null;
- try {
- Class<?> clazz = cl.loadClass(intfName);
- ic = helper.createInterfaceContract(clazz);
- ic.getInterface().setConversational(conversational);
- } catch (Exception e) {
- throw new ContributionException(e);
- }
- service.setInterfaceContract(ic);
- if (conversational) {
- service.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT);
- }
- componentType.getServices().add(service);
- }
-
- // Process Remote EJB References
- for (Map.Entry<String, EjbRef> entry : bean.getEjbRefMap().entrySet()) {
- EjbRef ejbRef = entry.getValue();
- if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) {
- continue;
- }
- String referenceName = entry.getKey();
- referenceName = referenceName.replace("/", "_");
- Reference reference = helper.createComponentReference();
- reference.setName(referenceName);
- InterfaceContract ic = null;
- try {
- Class<?> clazz = cl.loadClass(ejbRef.getInterface());
- ic = helper.createInterfaceContract(clazz);
- } catch (Exception e) {
- throw new ContributionException(e);
- }
- reference.setInterfaceContract(ic);
- reference.getRequiredIntents().add(AssemblyHelper.EJB_INTENT);
- componentType.getReferences().add(reference);
- }
-
- // Process env-entries to compute properties
- for (Map.Entry<String, EnvEntry> entry : bean.getEnvEntryMap().entrySet()) {
- EnvEntry envEntry = entry.getValue();
- String type = envEntry.getEnvEntryType();
- if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
- continue;
- }
- String propertyName = entry.getKey();
- propertyName = propertyName.replace("/", "_");
- String value = envEntry.getEnvEntryValue();
- Property property = helper.createComponentProperty();
- property.setName(propertyName);
- property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type));
- property.setValue(value);
- componentType.getProperties().add(property);
- }
-
- return componentType;
- }
-
- private ComponentType getEjbComponentType(MessageDrivenBean bean, ClassLoader cl) throws ContributionException {
- ComponentType componentType = helper.createComponentType();
-
- // Process Remote EJB References
- for (Map.Entry<String, EjbRef> entry : bean.getEjbRefMap().entrySet()) {
- EjbRef ejbRef = entry.getValue();
- if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) {
- continue;
- }
- String referenceName = entry.getKey();
- referenceName = referenceName.replace("/", "_");
- Reference reference = helper.createComponentReference();
- reference.setName(referenceName);
- InterfaceContract ic = null;
- try {
- Class<?> clazz = cl.loadClass(ejbRef.getInterface());
- ic = helper.createInterfaceContract(clazz);
- } catch (Exception e) {
- throw new ContributionException(e);
- }
- reference.setInterfaceContract(ic);
- reference.getRequiredIntents().add(AssemblyHelper.EJB_INTENT);
- componentType.getReferences().add(reference);
- }
-
- // Process env-entries to compute properties
- for (Map.Entry<String, EnvEntry> entry : bean.getEnvEntryMap().entrySet()) {
- EnvEntry envEntry = entry.getValue();
- String type = envEntry.getEnvEntryType();
- if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
- continue;
- }
- String propertyName = entry.getKey();
- propertyName = propertyName.replace("/", "_");
- String value = envEntry.getEnvEntryValue();
- Property property = helper.createComponentProperty();
- property.setName(propertyName);
- property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type));
- property.setValue(value);
- componentType.getProperties().add(property);
- }
-
- return componentType;
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java b/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java
deleted file mode 100644
index 2ecabb9a23..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.util.Map;
-
-import org.apache.openejb.config.AppModule;
-import org.apache.openejb.config.EjbModule;
-import org.apache.openejb.jee.EnterpriseBean;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.contribution.service.ContributionException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JavaEEApplicationProcessor {
- private AppModule appModule;
- private ComponentType componentType;
- private AssemblyHelper helper;
-
- public JavaEEApplicationProcessor(AppModule appModule, AssemblyHelper helper) {
- super();
- this.appModule = appModule;
- this.helper = helper;
- }
-
- public JavaEEApplicationProcessor(AppModule module) {
- appModule = module;
- helper = new AssemblyHelper();
- }
-
- public ComponentType getJavaEEAppComponentType() throws ContributionException {
- if (componentType != null) {
- return componentType;
- }
- componentType = helper.createComponentType();
-
- // Process all EJB modules
- for(EjbModule ejbModule : appModule.getEjbModules()) {
- EJBModuleProcessor emp = new EJBModuleProcessor(ejbModule, helper);
- Map<String, ComponentType> ejbComponentTypes = emp.getEjbComponentTypes();
- for(Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) {
- String beanName = entry.getKey();
- ComponentType ct = entry.getValue();
- EnterpriseBean bean = ejbModule.getEjbJar().getEnterpriseBeansByEjbName().get(beanName);
- String mappedName = bean.getMappedName() != null ? bean.getMappedName() : beanName;
-
- String mappedName2 = mappedName.replace("/", "_");
- // Add all services from the bean
- for(Service service : ct.getServices()) {
- Service service2 = helper.createComponentService();
- String serviceName = mappedName2 + "_"+service.getName();
- service2.setName(serviceName);
- service2.setInterfaceContract(service.getInterfaceContract());
- componentType.getServices().add(service2);
- }
-
- String beanName2 = beanName.replace("/", "_");
- // Add all references
- for(Reference reference : ct.getReferences()) {
- Reference reference2 = helper.createComponentReference();
- String referenceName = beanName2+"_"+reference.getName();
- reference2.setName(referenceName);
- reference2.setInterfaceContract(reference.getInterfaceContract());
- reference2.getRequiredIntents().addAll(reference.getRequiredIntents());
- componentType.getReferences().add(reference2);
- }
- }
- emp.getEjbAppComponentType();
- }
-
- // Process web modules (?)
- // FIXME: SCA JEE Spec 1.0 - Sec 7.1.3 says nothing about web modules
-
- return componentType;
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java b/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java
deleted file mode 100644
index 1187d1ed00..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.io.File;
-
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.config.AnnotationDeployer;
-import org.apache.openejb.config.AppModule;
-import org.apache.openejb.config.DeploymentLoader;
-import org.apache.openejb.config.ReadDescriptors;
-import org.apache.tuscany.sca.contribution.service.ContributionException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JavaEEModuleHelper {
-
- public AppModule getMetadataCompleteModules(String jarFilePath) throws ContributionException {
- DeploymentLoader loader = new DeploymentLoader();
- AppModule appModule = null;
- try {
- appModule = loader.load(new File(jarFilePath));
- } catch (OpenEJBException e) {
- throw new ContributionException(e);
- }
-
- // Process deployment descriptor files
- ReadDescriptors readDescriptors = new ReadDescriptors();
- try {
- readDescriptors.deploy(appModule);
- } catch (OpenEJBException e) {
- throw new ContributionException(e);
- }
-
- // Process annotations
- AnnotationDeployer annDeployer = new AnnotationDeployer();
- try {
- annDeployer.deploy(appModule);
- } catch (OpenEJBException e) {
- throw new ContributionException(e);
- }
-
- return appModule;
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java b/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java
deleted file mode 100644
index 58821b767d..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.util.Map;
-
-import org.apache.openejb.config.WebModule;
-import org.apache.openejb.jee.EjbRef;
-import org.apache.openejb.jee.EjbReference;
-import org.apache.openejb.jee.EnvEntry;
-import org.apache.openejb.jee.WebApp;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.CompositeReference;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionException;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.implementation.web.WebImplementationFactory;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-
-public class WebModuleProcessor {
- private WebModule webModule;
- private ComponentType componentType;
- private AssemblyHelper helper;
-
- public WebModuleProcessor(WebModule webModule, AssemblyHelper helper) {
- super();
- this.webModule = webModule;
- this.helper = helper;
- }
-
- public WebModuleProcessor(WebModule module) {
- webModule = module;
- helper = new AssemblyHelper();
- }
-
- public ComponentType getWebAppComponentType() throws ContributionException {
- if (componentType != null) {
- return componentType;
- }
- componentType = helper.createComponentType();
-
- WebApp webApp = webModule.getWebApp();
- ClassLoader classLoader = webModule.getClassLoader();
-
- // Process Remote EJB References
- for (Map.Entry<String, EjbRef> entry : webApp.getEjbRefMap().entrySet()) {
- EjbRef ejbRef = entry.getValue();
- if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) {
- // Only Remote EJB references need to be considered.
- // Skip the current one as it is a remote reference.
- continue;
- }
- String referenceName = entry.getKey();
- referenceName = referenceName.replace("/", "_");
- Reference reference = helper.createComponentReference();
- reference.setName(referenceName);
- InterfaceContract ic = null;
- try {
- Class<?> clazz = classLoader.loadClass(ejbRef.getInterface());
- ic = helper.createInterfaceContract(clazz);
- } catch (Exception e) {
- componentType = null;
- throw new ContributionException(e);
- }
- reference.setInterfaceContract(ic);
- reference.getRequiredIntents().add(AssemblyHelper.EJB_INTENT);
- componentType.getReferences().add(reference);
- }
-
- // Process env-entries to compute properties
- for (Map.Entry<String, EnvEntry> entry : webApp.getEnvEntryMap().entrySet()) {
- EnvEntry envEntry = entry.getValue();
- String type = envEntry.getEnvEntryType();
- if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) {
- continue;
- }
- String propertyName = entry.getKey();
- propertyName = propertyName.replace("/", "_");
- String value = envEntry.getEnvEntryValue();
- Property property = helper.createComponentProperty();
- property.setName(propertyName);
- property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type));
- property.setValue(value);
- componentType.getProperties().add(property);
- }
-
- return componentType;
- }
-
- public Composite getWebAppComposite() throws ContributionException {
- getWebAppComponentType();
-
- Composite composite = helper.createComposite();
-
- ModelFactoryExtensionPoint mfep = new DefaultModelFactoryExtensionPoint();
- WebImplementationFactory wif = mfep.getFactory(WebImplementationFactory.class);
- WebImplementation impl = wif.createWebImplementation();
- impl.setWebURI(webModule.getModuleId());
-
- // Create component
- Component component = helper.createComponent();
- String componentName = webModule.getModuleId();
- component.setName(componentName);
- component.setImplementation(impl);
-
- // Add references
- for (Reference reference : componentType.getReferences()) {
- ComponentReference componentReference = helper.createComponentReference();
- componentReference.setReference(reference);
- componentReference.setInterfaceContract(reference.getInterfaceContract());
- componentReference.getRequiredIntents().addAll(reference.getRequiredIntents());
- component.getReferences().add(componentReference);
- }
-
- // Add properties
- for (Property property : componentType.getProperties()) {
- ComponentProperty componentProperty = helper.createComponentProperty();
- componentProperty.setProperty(property);
- component.getProperties().add(componentProperty);
- }
-
- // Add component to composite
- composite.getComponents().add(component);
-
- // Add composite references
- for (ComponentReference reference : component.getReferences()) {
- CompositeReference compositeReference = helper.createCompositeReference();
- compositeReference.setInterfaceContract(reference.getInterfaceContract());
- compositeReference.getRequiredIntents().addAll(reference.getRequiredIntents());
- compositeReference.getPromotedReferences().add(reference);
- composite.getReferences().add(compositeReference);
- }
-
- return composite;
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java b/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java
deleted file mode 100644
index b062187afb..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.openejb.config.AppModule;
-import org.apache.openejb.config.EjbModule;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Service;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EJBModuleProcessorTestCase {
-
- EjbModule ejbModule;
-
- @Before
- public void setUp() throws Exception {
- String jarFilePath = "target/test-classes/ejb-injection-sample.jar";
- JavaEEModuleHelper jmh = new JavaEEModuleHelper();
- AppModule appModule = jmh.getMetadataCompleteModules(jarFilePath);
- ejbModule = appModule.getEjbModules().get(0);
- }
-
- @Test
- public void testEjbContribution() throws Exception {
- EJBModuleProcessor emp = new EJBModuleProcessor(ejbModule);
- Map<String, ComponentType> ejbComponentTypes = emp.getEjbComponentTypes();
- Assert.assertEquals(3, ejbComponentTypes.size());
-
- Assert.assertTrue(ejbComponentTypes.containsKey("DataStoreImpl"));
- Assert.assertTrue(ejbComponentTypes.containsKey("DataStoreStatefulImpl"));
- Assert.assertTrue(ejbComponentTypes.containsKey("DataReaderImpl"));
-
- ComponentType ct = ejbComponentTypes.get("DataStoreImpl");
- Assert.assertEquals(2, ct.getServices().size());
- Set<String> serviceNames = new HashSet<String>();
- for (Service s : ct.getServices()) {
- serviceNames.add(s.getName());
- }
-
- Assert.assertEquals(2, serviceNames.size());
- Assert.assertTrue(serviceNames.contains("DataStoreRemote"));
- Assert.assertTrue(serviceNames.contains("DataStoreLocal"));
-
- Assert.assertEquals(0, ct.getReferences().size());
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java b/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java
deleted file mode 100644
index 85b5e87e7f..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.openejb.config.AppModule;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JavaEEApplicationProcessorTestCase {
-
- AppModule appModule;
-
- @Before
- public void setUp() throws Exception {
- String jarFilePath = "target/test-classes/ejb-injection-sample.ear";
- JavaEEModuleHelper jmh = new JavaEEModuleHelper();
- appModule = jmh.getMetadataCompleteModules(jarFilePath);
- }
-
- @Test
- public void testJavaEEAppContribution() throws Exception {
- JavaEEApplicationProcessor jap = new JavaEEApplicationProcessor(appModule);
-
- ComponentType ct = jap.getJavaEEAppComponentType();
-
- // Check the services
- Assert.assertEquals(6, ct.getServices().size());
-
- Set<String> expectedServiceNames = new HashSet<String>();
- expectedServiceNames.add("BankBean_Bank");
- expectedServiceNames.add("ConverterBean_Converter");
- expectedServiceNames.add("ConverterBean_ConverterLocal");
- expectedServiceNames.add("Converter2Bean_ConverterLocal");
- expectedServiceNames.add("InvoiceBean_Invoice");
- expectedServiceNames.add("PurchaseOrderBean_PurchaseOrder");
-
- Set<String> serviceNames = new HashSet<String>();
- for(Service service : ct.getServices()) {
- serviceNames.add(service.getName());
- }
-
- Assert.assertEquals(expectedServiceNames, serviceNames);
-
- // Check the references
- Assert.assertEquals(1, ct.getReferences().size());
-
- Set<String> expectedReferenceNames = new HashSet<String>();
- expectedReferenceNames.add("BankBean_simple.BankBean_converter");
-
- Set<String> referenceNames = new HashSet<String>();
- for (Reference r : ct.getReferences()) {
- referenceNames.add(r.getName());
- }
-
- Assert.assertEquals(expectedReferenceNames, referenceNames);
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java b/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java
deleted file mode 100644
index 030fdc3d19..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.jee;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.openejb.config.AppModule;
-import org.apache.openejb.config.WebModule;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebModuleProcessorTestCase {
-
- WebModule webModule;
-
- @Before
- public void setUp() throws Exception {
- String jarFilePath = "target/test-classes/ejb-injection-sample.ear";
- JavaEEModuleHelper jmh = new JavaEEModuleHelper();
- AppModule appModule = jmh.getMetadataCompleteModules(jarFilePath);
- webModule = appModule.getWebModules().get(0);
- }
-
- @Test
- public void testWebAppContribution() throws Exception {
- WebModuleProcessor wmp = new WebModuleProcessor(webModule);
-
- ComponentType ct = wmp.getWebAppComponentType();
- Assert.assertEquals(2, ct.getReferences().size());
- Set<String> referenceNames = new HashSet<String>();
- for (Reference r : ct.getReferences()) {
- referenceNames.add(r.getName());
- }
-
- Assert.assertEquals(2, referenceNames.size());
- Assert.assertTrue(referenceNames.contains("org.myorg.MyServlet_bank"));
- Assert.assertTrue(referenceNames.contains("org.myorg.MyServlet_converter"));
-
- Assert.assertEquals(0, ct.getServices().size());
-
- Composite composite = wmp.getWebAppComposite();
- Assert.assertEquals(2, composite.getReferences().size());
- }
-}
diff --git a/branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear b/branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear
deleted file mode 100644
index 3efdd206c7..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar b/branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar
deleted file mode 100644
index 4b9e3b79f4..0000000000
--- a/branches/sca-android/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/contribution-updater-impl/LICENSE b/branches/sca-android/modules/contribution-updater-impl/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/contribution-updater-impl/META-INF/README b/branches/sca-android/modules/contribution-updater-impl/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/contribution-updater-impl/NOTICE b/branches/sca-android/modules/contribution-updater-impl/NOTICE
deleted file mode 100644
index 94481d6cfa..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2007 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/contribution-updater-impl/pom.xml b/branches/sca-android/modules/contribution-updater-impl/pom.xml
deleted file mode 100644
index cd4f1e17ee..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/pom.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-contribution-updater-impl</artifactId>
- <name>Apache Tuscany SCA Contribution Updater Implementation</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-namespace</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-updater</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.updater.impl</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.contribution.updater.impl*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java
deleted file mode 100644
index a23bf6f8cd..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-public class ArtifactsFinder {
-
- public static Composite findComposite(String compositeURI,
- List<Composite> artifacts) {
- for (Composite composite : artifacts) {
- if (composite.getURI().equals(compositeURI))
- return composite;
- }
- return null;
- }
-
- public static Component findComponent(Composite composite,
- String componentName) {
- for (Component component : composite.getComponents()) {
- if (component.getName().equals(componentName)) {
- return component;
-
- }
-
- }
- return null;
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java
deleted file mode 100644
index a6a6084f5f..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.Multiplicity;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionService;
-import org.apache.tuscany.sca.contribution.updater.ComponentNotFoundException;
-import org.apache.tuscany.sca.contribution.updater.ComponentUpdater;
-import org.apache.tuscany.sca.contribution.updater.ComponentUpdaterException;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.assembly.CompositeActivator;
-import org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.contribution.updater.impl.ArtifactsFinder;
-import org.apache.tuscany.sca.assembly.xml.MetaComponentProcessor;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.implementation.java.IntrospectionException;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.JavaIntrospectionHelper;
-
-public class ComponentUpdaterImpl implements ComponentUpdater {
-
- private String contribURI;
- private String compositeURI;
- private String componentName;
- private JavaInterfaceFactory javaFactory;
- private CompositeBuilder compositeBuilder;
- private CompositeActivator compositeActivator;
- private ContributionService contributionService;
- private ExtensionPointRegistry registry;
- private AssemblyFactory assemblyFactory;
- private InterfaceContractMapper interfaceContractMapper;
- private Contribution contrib;
-
- public ComponentUpdaterImpl(String contribURI, String compositeURI,
- String componentName, AssemblyFactory assembly,
- JavaInterfaceFactory javaFactory,
- CompositeBuilder compositeBuilder,
- CompositeActivator compositeActivator,
- ContributionService contribService,
- ExtensionPointRegistry registry, InterfaceContractMapper mapper) {
- this.contribURI = contribURI;
- this.compositeURI = compositeURI;
- this.componentName = componentName;
- this.javaFactory = javaFactory;
- this.compositeBuilder = compositeBuilder;
- this.compositeActivator = compositeActivator;
- this.contributionService = contribService;
- this.registry = registry;
- this.assemblyFactory = assembly;
- this.interfaceContractMapper = mapper;
- this.contrib = this.contributionService.getContribution(contribURI);
- }
-
- private void reconcileReference(Reference reference,
- ComponentReference targetReference, String componentName) {
-
- targetReference.setReference(reference);
- targetReference.setIsCallback(reference.isCallback());
- targetReference.setMultiplicity(reference.getMultiplicity());
- if (targetReference.getInterfaceContract() != null) {
- if (!targetReference.getInterfaceContract().equals(
- reference.getInterfaceContract())) {
- if (!interfaceContractMapper.isCompatible(reference
- .getInterfaceContract(), targetReference
- .getInterfaceContract())) {
- System.err
- .println("Component reference interface incompatible with reference interface: "
- + componentName
- + "/"
- + targetReference.getName());
- }
- }
- } else {
- targetReference.setInterfaceContract(reference
- .getInterfaceContract());
- }
- if (targetReference.getBindings().isEmpty()) {
- targetReference.getBindings().addAll(reference.getBindings());
- }
-
- // Reconcile callback bindings
- if (targetReference.getCallback() == null) {
- targetReference.setCallback(reference.getCallback());
- if (targetReference.getCallback() == null) {
- targetReference.setCallback(assemblyFactory.createCallback());
- }
-
- } else if (targetReference.getCallback().getBindings().isEmpty()
- && reference.getCallback() != null) {
- targetReference.getCallback().getBindings().addAll(
- reference.getCallback().getBindings());
- }
- Contribution contrib = contributionService.getContribution(contribURI);
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
- // RuntimeComponent source = null;
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- Component c = ArtifactsFinder.findComponent(composite, componentName);
- if (targetReference.getAutowire() == null) {
- targetReference.setAutowire(c.getAutowire());
- }
-
- // Reconcile targets
- if (targetReference.getTargets().isEmpty()) {
- targetReference.getTargets().addAll(reference.getTargets());
- }
-
- }
-
- public org.apache.tuscany.sca.assembly.Reference buildReference(
- String name, String className, Class<?> businessInterface,
- boolean required) throws Exception {
-
- Class<?> rawType = contrib.getClassLoader().loadClass(className);
-
- if (rawType == null)
- return null;
-
- org.apache.tuscany.sca.assembly.Reference reference = assemblyFactory
- .createReference();
- JavaInterfaceContract interfaceContract = javaFactory
- .createJavaInterfaceContract();
- reference.setInterfaceContract(interfaceContract);
- reference.setName(name);
-
- if (required) {
- reference.setMultiplicity(Multiplicity.ONE_ONE);
- } else {
- reference.setMultiplicity(Multiplicity.ZERO_ONE);
- }
- Type[] interfaces = rawType.getGenericInterfaces();
- Type genericType = null;
-
- for (int i = 0; i < interfaces.length; ++i) {
- Type tmp = interfaces[i];
- if (interfaces[i] instanceof ParameterizedType) {
- ParameterizedType type = (ParameterizedType) tmp;
- tmp = type.getRawType();
- }
- if (tmp.getClass().getName().equals(
- businessInterface.getClass().getName())) {
- genericType = tmp;
- }
- }
- if (genericType == null)
- throw new ComponentUpdaterException(
- "User has specified a wrong businessInterface:"
- + businessInterface);
- // baseType = JavaIntrospectionHelper.getBusinessInterface(baseType,
- // genericType);
- /*
- * Class<?> baseType = getBaseType(rawType, genericType); if
- * (CallableReference.class.isAssignableFrom(baseType)) { if
- * (Collection.class.isAssignableFrom(rawType)) { genericType =
- * JavaIntrospectionHelper.getParameterType(genericType); } baseType =
- * JavaIntrospectionHelper.getBusinessInterface(baseType, genericType); }
- */
- try {
-
- JavaInterface callInterface = javaFactory
- .createJavaInterface(JavaIntrospectionHelper
- .getErasure(genericType));
- reference.getInterfaceContract().setInterface(callInterface);
- if (callInterface.getCallbackClass() != null) {
- JavaInterface callbackInterface = javaFactory
- .createJavaInterface(callInterface.getCallbackClass());
- reference.getInterfaceContract().setCallbackInterface(
- callbackInterface);
- }
- } catch (InvalidInterfaceException e) {
- throw new IntrospectionException(e);
- }
- return reference;
- }
-
- /*
- * private org.apache.tuscany.sca.assembly.Reference
- * createReference(JavaElementImpl element, String name) throws
- * IntrospectionException { org.apache.tuscany.sca.assembly.Reference
- * reference = assemblyFactory.createReference(); JavaInterfaceContract
- * interfaceContract = javaFactory.createJavaInterfaceContract();
- * reference.setInterfaceContract(interfaceContract);
- * // reference.setMember((Member)element.getAnchor()); boolean required =
- * true; Reference ref = element.getAnnotation(Reference.class); if (ref !=
- * null) { required = ref.required(); } // reference.setRequired(required);
- * reference.setName(name); Class<?> rawType = element.getType(); if
- * (rawType.isArray() || Collection.class.isAssignableFrom(rawType)) { if
- * (required) { reference.setMultiplicity(Multiplicity.ONE_N); } else {
- * reference.setMultiplicity(Multiplicity.ZERO_N); } } else { if (required) {
- * reference.setMultiplicity(Multiplicity.ONE_ONE); } else {
- * reference.setMultiplicity(Multiplicity.ZERO_ONE); } } Type genericType =
- * element.getGenericType(); Class<?> baseType = getBaseType(rawType,
- * genericType); if (CallableReference.class.isAssignableFrom(baseType)) {
- * if (Collection.class.isAssignableFrom(rawType)) { genericType =
- * JavaIntrospectionHelper.getParameterType(genericType); } baseType =
- * JavaIntrospectionHelper.getBusinessInterface(baseType, genericType); }
- * try { JavaInterface callInterface =
- * javaFactory.createJavaInterface(baseType);
- * reference.getInterfaceContract().setInterface(callInterface); if
- * (callInterface.getCallbackClass() != null) { JavaInterface
- * callbackInterface =
- * javaFactory.createJavaInterface(callInterface.getCallbackClass());
- * reference.getInterfaceContract().setCallbackInterface(callbackInterface); } }
- * catch (InvalidInterfaceException e) { throw new
- * IntrospectionException(e); } return reference; }
- */
- public ComponentReference addReferenceWire(String referenceName,
- String className, Class<?> interfaceName, String targetComponent)
- throws ComponentUpdaterException, ComponentNotFoundException {
-
- StAXArtifactProcessorExtensionPoint staxProcessors = registry
- .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- MetaComponentProcessor processor = (MetaComponentProcessor) staxProcessors
- .getProcessor(Component.class);
-
- Contribution contrib = contributionService.getContribution(contribURI);
-
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
- RuntimeComponent source = null;
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- // TODO error handling
- if (composite != null)
- source = (RuntimeComponent) ArtifactsFinder.findComponent(
- composite, componentName);
- else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
- if (source != null) {
- // Debig this
- RuntimeComponentReference targetReference = (RuntimeComponentReference) assemblyFactory
- .createComponentReference();
- targetReference.setName(referenceName);
- targetReference.setUnresolved(true);
- Reference reference = null;
- try {
- reference = buildReference(referenceName, className,
- interfaceName, true);
- } catch (Exception e) {
- throw new ComponentUpdaterException(e.getMessage());
- }
- source.getImplementation().getReferences().add(reference);
-
- // targetService.
- ComponentService targetService = assemblyFactory
- .createComponentService();
- targetService.setUnresolved(true);
- targetService.setName(targetComponent);
- targetReference.getTargets().add(targetService);
-
- // reconciliate
- reconcileReference(reference, targetReference, componentName);
- // create component reference for the reference
- source.getReferences().add(targetReference);
- try {
- processor.resolveReference(targetReference, contrib
- .getModelResolver());
- } catch (ContributionResolveException e) {
- throw new ComponentUpdaterException(
- "Contribution Resolving Exception while updating..");
- }
-
- CompositeActivatorImpl activator = (CompositeActivatorImpl) compositeActivator;
- compositeBuilder.attachWire(source, composite, targetReference);
- activator.activate(source, targetReference);
- synchronized (source) {
- activator.configureComponentContext(source);
- }
- // RuntimeComponentReference runtimeRef =
- // ((RuntimeComponentReference)ref);
- // runtimeRef.setComponent(component);
- for (Binding binding : targetReference.getBindings()) {
- ReferenceBindingProvider bindingProvider = targetReference
- .getBindingProvider(binding);
- if (bindingProvider != null) {
- bindingProvider.start();
- }
-
- }
-
- ImplementationProvider implementationProvider = source
- .getImplementationProvider();
- if (implementationProvider != null) {
- /*
- * con la reflection cosi tolgo la dipendneza if
- * ((implementationProvider.getClass().getName().equals("JavaImplementationProvider")) {
- * Clazz cget } implementationProvider.getClass(). if
- * (implementationProvider instanceof
- * JavaImplementationProvider) { ((JavaImplementationProvider)
- * implementationProvider). startReference(targetReference); }
- */
- }
- return targetReference;
- } else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
- }
-
- public ComponentReference removeReferenceWire(String referenceName,
- String targetComponent) throws ComponentUpdaterException,
- ComponentNotFoundException {
- List<DeployedArtifact> artifacts = contributionService.getContribution(
- contribURI).getArtifacts();
- RuntimeComponent source = null;
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- ComponentReference toRemove = null;
-
- if (composite != null) {
- source = (RuntimeComponent) ArtifactsFinder.findComponent(
- composite, this.componentName);
- } else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
- if ((source != null) && (targetComponent != null)) {
- /* source target refenence */
-
- List<ComponentReference> references = source.getReferences();
- for (ComponentReference ref : references) {
- if (ref.getName().equals(targetComponent)) {
- toRemove = ref;
- break;
- }
- }
- if (toRemove != null) {
- CompositeActivatorImpl activator = (CompositeActivatorImpl) compositeActivator;
- activator.stop(source, toRemove);
- activator.deactivate(source,
- (RuntimeComponentReference) toRemove);
- compositeBuilder.detachWire(composite, source, toRemove);
- } else {
- throw new ComponentNotFoundException("Not found component "
- + componentName + " for update");
- }
-
- }
- return toRemove;
- }
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java
deleted file mode 100644
index c5a15b5108..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.MetaComponent;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
-import org.apache.tuscany.sca.contribution.Artifact;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionService;
-import org.apache.tuscany.sca.contribution.updater.CompositeUpdater;
-import org.apache.tuscany.sca.contribution.updater.CompositeUpdaterException;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.assembly.CompositeActivator;
-import org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl;
-import org.apache.tuscany.sca.contribution.updater.impl.ArtifactsFinder;
-import org.apache.tuscany.sca.assembly.xml.MetaComponentProcessor;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-public class CompositeUpdaterImpl implements CompositeUpdater {
-
- private CompositeBuilder compositeBuilder;
- private String compositeURI;
- private AssemblyFactory assemblyFactory;
- private String contribURI;
- private CompositeActivator compositeActivator;
- private ExtensionPointRegistry registry;
- private ContributionService contribService;
-
- public CompositeUpdaterImpl(AssemblyFactory assembly, String contribURI,
- String compositeURI, CompositeBuilder compositeBuilder,
- CompositeActivator compositeActivator,
- ExtensionPointRegistry registry, ContributionService contribService) {
- this.compositeBuilder = compositeBuilder;
- this.compositeURI = compositeURI;
- this.assemblyFactory = assembly;
- this.contribURI = contribURI;
- this.compositeActivator = compositeActivator;
- this.registry = registry;
- this.contribService = contribService;
- }
-
- public Component addComponent(MetaComponent c)
- throws CompositeUpdaterException {
- StAXArtifactProcessorExtensionPoint staxProcessors = registry
- .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- MetaComponentProcessor processor = (MetaComponentProcessor) staxProcessors
- .getProcessor(Component.class);
- Contribution contrib = contribService.getContribution(contribURI);
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- boolean found = false;
-
- if (composite == null)
- throw new CompositeUpdaterException(
- "Composite not found in contribution" + contribURI);
- else {
- processor.setComposite(composite);
- try {
- processor.read(c.build());
- } catch (Exception e) {
- throw new CompositeUpdaterException(
- "Component error parsing in contribution" + contribURI);
-
- }
- found = true;
- }
-
- if (found) {
- Component component = processor.getParsedComponent();
- Composite augmentedComposite = processor.getParsedComposite();
- try {
- processor.resolve(component, contrib.getModelResolver());
- compositeBuilder.attach(augmentedComposite, component);
- ((CompositeActivatorImpl) compositeActivator)
- .activateComponent(component);
- } catch (Exception e) {
-
- throw new CompositeUpdaterException(
- "Cannot activate the component");
- }
-
- return component;
- }
- return null;
- }
-
- public Component findComponent(String componentName) {
- Contribution contrib = contribService.getContribution(contribURI);
- List<Composite> artifacts = contrib.getDeployables();
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- return ArtifactsFinder.findComponent(composite, componentName);
- }
-
- public Component removeComponent(String componentName)
- throws CompositeUpdaterException {
- Contribution contrib = contribService.getContribution(contribURI);
- List<DeployedArtifact> artifacts = contrib.getArtifacts();
-
- Composite composite = ArtifactsFinder.findComposite(compositeURI,
- artifacts);
- List<Component> components = composite.getComponents();
- Component toRemove = null;
- for (Component component : components) {
- if (((RuntimeComponent) component).getName().equals(componentName)) {
- toRemove = component;
- break;
- }
- }
- if (toRemove == null) {
- throw new CompositeUpdaterException(
- "Component not found in contribution" + contribURI);
- } else {
- // start again
- try {
- composite.getComponents().remove(toRemove);
- CompositeActivatorImpl impl = (CompositeActivatorImpl) compositeActivator;
- impl.stop(toRemove);
- impl.deactivateComponent(toRemove);
- CompositeBuilderImpl builder = (CompositeBuilderImpl) compositeBuilder;
- builder.detach(composite, toRemove);
- } catch (Exception e) {
- throw new CompositeUpdaterException(
- "Cannot remove composite from the contribution"
- + contribURI);
- }
- return toRemove;
- }
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java b/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java
deleted file mode 100644
index 7f5870ad55..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionService;
-import org.apache.tuscany.sca.contribution.updater.ComponentUpdater;
-import org.apache.tuscany.sca.contribution.updater.CompositeUpdater;
-import org.apache.tuscany.sca.contribution.updater.ContributionUpdater;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.assembly.CompositeActivator;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.contribution.updater.impl.ComponentUpdaterImpl;
-import org.apache.tuscany.sca.contribution.updater.impl.CompositeUpdaterImpl;
-import org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime;
-
-public class ContributionUpdaterFactoryImpl implements ContributionUpdater {
- private AssemblyFactory assembly;
- private JavaInterfaceFactory javaFactory;
- private CompositeActivator compositeActivator;
- private CompositeBuilder compositeBuilder;
- private ExtensionPointRegistry registry;
- private ContributionService contribService;
- private InterfaceContractMapper mapper;
-
- public ContributionUpdaterFactoryImpl(ReallySmallRuntime runtime) {
- this.assembly = runtime.getAssemblyFactory();
- this.javaFactory = runtime.getExtensionPointRegistry()
- .getExtensionPoint(ModelFactoryExtensionPoint.class)
- .getFactory(JavaInterfaceFactory.class);
- this.compositeActivator = runtime.getCompositeActivator();
- this.compositeBuilder = runtime.getCompositeBuilder();
- this.registry = runtime.getExtensionPointRegistry();
- this.contribService = runtime.getContributionService();
- this.mapper = runtime.getInterfaceContractMapper();
- }
-
- public void setContributionService(ContributionService s) {
- this.contribService = s;
- }
-
- public ComponentUpdater getComponentUpdater(String contribURI,
- String compositeURI, String componentName) {
-
- return new ComponentUpdaterImpl(contribURI, compositeURI,
- componentName, assembly, javaFactory, compositeBuilder,
- compositeActivator, contribService, registry, mapper);
- }
-
- public CompositeUpdater getCompositeUpdater(String contribURI,
- String compositeURI) {
- return new CompositeUpdaterImpl(assembly, contribURI, compositeURI,
- compositeBuilder, compositeActivator, registry, contribService);
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java
deleted file mode 100644
index 83d0224ad4..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.node.SCANode;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test ContributionUpdater.
- *
- */
-public class ContributionUpdaterTestCase {
-
- // private static SCADomain domain;
- private static SCANode node;
- private static MetaComponentHello helloMeta;
-
- @Before
- public void setUp() throws Exception {
- /*
- * System.out.println("Setting up domain");
- *
- * SCADomainFactory domainFactory = SCADomainFactory.newInstance();
- * domain = domainFactory.createSCADomain("http://localhost:9999");
- *
- * System.out.println("Setting up calculator nodes");
- *
- * ClassLoader cl = ContributionUpdaterTestCase.class.getClassLoader();
- *
- * SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); try {
- * log.info("Staring entropy handler"); prng =
- * SecureRandom.getInstance("SHA1PRNG"); } catch
- * (NoSuchAlgorithmException e) { // TODO Auto-generated catch block
- * e.printStackTrace(); } componentName =
- * "HelloComponent"+this.uniqueID();
- * t.setAttribute("componentName",componentName);
- *
- * node = nodeFactory.createSCANode("http://localhost:8100/nodeA",
- * "http://localhost:9999"); node.addContribution("nodeA",
- * cl.getResource("nodeA/")); node.addToDomainLevelComposite(new
- * QName("http://test", "HelloComposite")); node.start();
- * SCADomainFinder domainFinder = SCADomainFinder.newInstance(); domain =
- * domainFinder.getSCADomain("http://localhost:9999"); helloMeta = new
- * MetaComponentHello();
- * helloMeta.setComponentClass("org.apache.tuscany.sca.contribution.updater.impl.HelloComponent");
- */
- }
-
- @After
- public void tearDown() throws Exception {
-
- }
-
- @Test
- public void testAddNewComponent() throws ClassNotFoundException,
- MalformedURLException {
- /*
- * String helloComponent1 = "<component
- * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"
- * name=\"HelloComponent1\">\n" + "<implementation.java
- * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>";
- * MetaComponent mc =
- * MetaComponentFactory.newMetaComponent("HelloComponent1",helloComponent1);
- * try { ((SCANodeImpl) node).addComponentToComposite(mc, "nodeA",
- * "HelloComposite.composite"); GreetService greet =
- * node.getDomain().getService(GreetService.class, "HelloComponent1");
- * greet.sayHello("Italian").equals("Ciao"); } catch (Exception e) {
- * Assert.fail(e.getMessage()); }
- */
- Assert.assertEquals("skip", "skip");
- }
-
- @Test
- public void testWireComponents() throws ClassNotFoundException,
- MalformedURLException {
- Assert.assertEquals("skip", "skip");
- /*
- * String helloComponent1 = "<component
- * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"
- * name=\"HelloComponent1\">\n" + "<implementation.java
- * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>";
- * String helloComponent2 = "<component
- * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"
- * name=\"HelloComponent2\">\n" + "<implementation.java
- * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>";
- * MetaComponent mc1 =
- * MetaComponentFactory.newMetaComponent("HelloComponent1",helloComponent1);
- * MetaComponent mc2 =
- * MetaComponentFactory.newMetaComponent("HelloComponent2",helloComponent2);
- *
- * try { ((SCANodeImpl) node).addComponentToComposite(mc1, "nodeA",
- * "HelloComposite.composite"); ((SCANodeImpl)
- * node).addComponentToComposite(mc2, "nodeA",
- * "HelloComposite.composite"); GreetService greet =
- * node.getDomain().getService(GreetService.class, "HelloComponent1");
- * greet.sayHello("Italian").equals("Ciao"); } catch (Exception e) {
- * Assert.fail(e.getMessage()); }
- */
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java
deleted file mode 100644
index 0eb7fb692b..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface GreetService {
- String sayHello(String language);
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java
deleted file mode 100644
index 38fa2721bb..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import org.osoa.sca.annotations.Service;
-
-@Service(GreetService.class)
-public class HelloComponent implements GreetService {
- private String[][] languageGreets = {
- { "English", "Italian", "Japanese", "German" },
- { "Hello!", "Ciao!", "Konnici wa!", "Hallo!" } };
-
- public String sayHello(String language) {
- for (int i = 0; i < 4; ++i)
- for (int j = 0; j < 4; ++j) {
- if (language.equals(languageGreets[i][j])) {
- return languageGreets[0][0];
- }
- }
- return "I don't speak your language";
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java b/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java
deleted file mode 100644
index 1495ff2cea..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater.impl;
-
-import java.io.StringReader;
-import java.net.URI;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-import java.util.logging.Logger;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sca.assembly.MetaComponent;
-
-public class MetaComponentHello implements MetaComponent {
- private String componentName;
- private String scdl;
- private boolean loadedFromString = false;
- private Logger log = Logger.getLogger(MetaComponentHello.class.getName());
-
- public MetaComponentHello() {
- }
-
- private MetaComponentHello(String scdl, boolean loadedFromString) {
- this.scdl = scdl;
- this.loadedFromString = loadedFromString;
- }
-
- public MetaComponent fromSCDL(String scdl) {
- return new MetaComponentHello(scdl, true);
- }
-
- public XMLStreamReader build() throws Exception {
- XMLInputFactory factory = XMLInputFactory.newInstance();
- return factory.createXMLStreamReader(new StringReader(scdl));
- }
-
- public String getName() {
-
- return componentName;
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite b/branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite
deleted file mode 100644
index 76714a0e9c..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://test"
- xmlns:test="http://test"
- name="HelloComposite">
- <component name="HelloComponentService">
- <implementation.java="org.apache.tuscany.sca.contribution.updater.impl.HelloComponent"/>
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar b/branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar
deleted file mode 100644
index 9c46c679d2..0000000000
--- a/branches/sca-android/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/contribution-updater/LICENSE b/branches/sca-android/modules/contribution-updater/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/contribution-updater/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/contribution-updater/META-INF/README b/branches/sca-android/modules/contribution-updater/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/contribution-updater/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/contribution-updater/NOTICE b/branches/sca-android/modules/contribution-updater/NOTICE
deleted file mode 100644
index 94481d6cfa..0000000000
--- a/branches/sca-android/modules/contribution-updater/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2007 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/contribution-updater/pom.xml b/branches/sca-android/modules/contribution-updater/pom.xml
deleted file mode 100644
index 26dc2152a2..0000000000
--- a/branches/sca-android/modules/contribution-updater/pom.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-contribution-updater</artifactId>
- <name>Apache Tuscany SCA Contribution Updater</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-namespace</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-domain-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.updater</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.contribution.updater*,org.apache.tuscany.sca.assembly*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java
deleted file mode 100644
index 885fe8cfb0..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly;
-
-import javax.xml.stream.XMLStreamReader;
-
-public interface MetaComponent {
- XMLStreamReader build() throws Exception;
-
- String getName();
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java
deleted file mode 100644
index 44673bfdb9..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java
+++ /dev/null
@@ -1,788 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.assembly.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Callback;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.CompositeReference;
-import org.apache.tuscany.sca.assembly.CompositeService;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Contract;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.Wire;
-import org.apache.tuscany.sca.contribution.ContributionFactory;
-import org.apache.tuscany.sca.contribution.DeployedArtifact;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-import org.apache.tuscany.sca.policy.util.PolicyValidationException;
-import org.w3c.dom.Document;
-
-/**
- * A component processor.
- *
- * @version $Rev$ $Date$
- */
-public class MetaComponentProcessor extends BaseAssemblyProcessor implements
- StAXArtifactProcessor<Component> {
-
- /**
- * Construct a new composite processor
- *
- * @param contributionFactory
- * @param assemblyFactory
- * @param policyFactory
- * @param extensionProcessor
- */
- private Composite composite = null;
- private Component generatedComponent = null;
-
- public MetaComponentProcessor(ContributionFactory contributionFactory,
- AssemblyFactory factory, PolicyFactory policyFactory,
- InterfaceContractMapper interfaceContractMapper,
- StAXArtifactProcessor extensionProcessor) {
- super(contributionFactory, factory, policyFactory, extensionProcessor);
- }
-
- /**
- * Construct a new composite processor
- *
- * @param assemblyFactory
- * @param policyFactory
- * @param extensionProcessor
- * public CompositeProcessor(AssemblyFactory factory,
- * PolicyFactory policyFactory, InterfaceContractMapper
- * interfaceContractMapper, StAXArtifactProcessor
- * extensionProcessor) { super(factory, policyFactory,
- * extensionProcessor); }
- */
- public void setComposite(Composite c) {
- composite = c;
- }
-
- public Component getParsedComponent() {
- return this.generatedComponent;
- }
-
- public Composite getParsedComposite() {
- return this.composite;
- }
-
- public Component read(XMLStreamReader reader)
- throws ContributionReadException, XMLStreamException {
- Composite include = null;
- Component component = null;
- Property property = null;
- ComponentService componentService = null;
- ComponentReference componentReference = null;
- ComponentProperty componentProperty = null;
- CompositeService compositeService = null;
- CompositeReference compositeReference = null;
- Contract contract = null;
- Wire wire = null;
- Callback callback = null;
- QName name = null;
-
- // Read the component scdl
-
- while (reader.hasNext()) {
- int event = reader.getEventType();
- switch (event) {
- case START_ELEMENT:
- QName itemName = reader.getName();
- if (!itemName.getNamespaceURI().equals(SCA10_NS))
- name = new QName(SCA10_NS, itemName.getLocalPart());
- else
- name = itemName;
-
- if (SERVICE_QNAME.equals(name)) {
- if (component != null) {
-
- // Read a <component><service>
- componentService = assemblyFactory
- .createComponentService();
- contract = componentService;
- componentService.setName(getString(reader, NAME));
- component.getServices().add(componentService);
- policyProcessor.readPolicies(contract, reader);
- }
-
- } else if (REFERENCE_QNAME.equals(name)) {
- if (component != null) {
- // Read a <component><reference>
- componentReference = assemblyFactory
- .createComponentReference();
- contract = componentReference;
- componentReference.setName(getString(reader, NAME));
- readMultiplicity(componentReference, reader);
- if (isSet(reader, AUTOWIRE)) {
- componentReference.setAutowire(getBoolean(reader,
- AUTOWIRE));
- }
- readTargets(componentReference, reader);
- componentReference.setWiredByImpl(getBoolean(reader,
- WIRED_BY_IMPL));
- component.getReferences().add(componentReference);
- policyProcessor.readPolicies(contract, reader);
- }
-
- } else if (PROPERTY_QNAME.equals(name)) {
- if (component != null) {
-
- // Read a <component><property>
- componentProperty = assemblyFactory
- .createComponentProperty();
- property = componentProperty;
- componentProperty.setSource(getString(reader, SOURCE));
- componentProperty.setFile(getString(reader, FILE));
- policyProcessor.readPolicies(property, reader);
- readAbstractProperty(componentProperty, reader);
-
- // Read the property value
- Document value = readPropertyValue(property
- .getXSDElement(), property.getXSDType(), reader);
- property.setValue(value);
-
- component.getProperties().add(componentProperty);
- }
- } else if (COMPONENT_QNAME.equals(name)) {
-
- // Read a <component>
- component = assemblyFactory.createComponent();
- component.setName(getString(reader, NAME));
- if (isSet(reader, AUTOWIRE)) {
- component.setAutowire(getBoolean(reader, AUTOWIRE));
- }
- if (isSet(reader, URI)) {
- component.setURI(getString(reader, URI));
- }
- component.setConstrainingType(readConstrainingType(reader));
- composite.getComponents().add(component);
- policyProcessor.readPolicies(component, reader);
-
- } else if (WIRE_QNAME.equals(name)) {
-
- // Read a <wire>
- wire = assemblyFactory.createWire();
- ComponentReference source = assemblyFactory
- .createComponentReference();
- source.setUnresolved(true);
- source.setName(getString(reader, SOURCE));
- wire.setSource(source);
-
- ComponentService target = assemblyFactory
- .createComponentService();
- target.setUnresolved(true);
- target.setName(getString(reader, TARGET));
- wire.setTarget(target);
-
- composite.getWires().add(wire);
- policyProcessor.readPolicies(wire, reader);
-
- } else if (CALLBACK_QNAME.equals(name)) {
-
- // Read a <callback>
- callback = assemblyFactory.createCallback();
- contract.setCallback(callback);
- policyProcessor.readPolicies(callback, reader);
-
- } else if (OPERATION_QNAME.equals(name)) {
-
- // Read an <operation>
- Operation operation = assemblyFactory.createOperation();
- operation.setName(getString(reader, NAME));
- operation.setUnresolved(true);
- if (callback != null) {
- policyProcessor.readPolicies(callback, operation,
- reader);
- } else {
- policyProcessor.readPolicies(contract, operation,
- reader);
- }
- } else if (IMPLEMENTATION_COMPOSITE_QNAME.equals(name)) {
-
- // Read an implementation.composite
- Composite implementation = assemblyFactory
- .createComposite();
- implementation.setName(getQName(reader, NAME));
- implementation.setUnresolved(true);
- component.setImplementation(implementation);
- policyProcessor.readPolicies(implementation, reader);
- } else {
-
- // Read an extension element
- Object extension = extensionProcessor.read(reader);
- if (extension != null) {
- if (extension instanceof InterfaceContract) {
-
- // <service><interface> and
- // <reference><interface>
- if (contract != null) {
- contract
- .setInterfaceContract((InterfaceContract) extension);
- } else {
- if (name.getNamespaceURI().equals(SCA10_NS)) {
- throw new ContributionReadException(
- "Unexpected <interface> element found. It should appear inside a <service> or <reference> element");
- } else {
- composite.getExtensions().add(extension);
- }
- }
-
- } else if (extension instanceof Binding) {
- // <service><binding> and
- // <reference><binding>
- if (callback != null) {
- callback.getBindings().add((Binding) extension);
- } else {
- if (contract != null) {
- contract.getBindings().add(
- (Binding) extension);
- } else {
- if (name.getNamespaceURI().equals(SCA10_NS)) {
- throw new ContributionReadException(
- "Unexpected <binding> element found. It should appear inside a <service> or <reference> element");
- } else {
- composite.getExtensions()
- .add(extension);
- }
- }
- }
-
- } else if (extension instanceof Implementation) {
-
- // <component><implementation>
- if (component != null) {
- component
- .setImplementation((Implementation) extension);
- } else {
- if (name.getNamespaceURI().equals(SCA10_NS)) {
- throw new ContributionReadException(
- "Unexpected <implementation> element found. It should appear inside a <component> element");
- } else {
- composite.getExtensions().add(extension);
- }
- }
- } else {
-
- // Add the extension element to the current
- // element
- if (callback != null) {
- callback.getExtensions().add(extension);
- } else if (contract != null) {
- contract.getExtensions().add(extension);
- } else if (property != null) {
- property.getExtensions().add(extension);
- } else if (component != null) {
- component.getExtensions().add(extension);
- } else {
- composite.getExtensions().add(extension);
- }
- }
- }
- }
- break;
-
- case XMLStreamConstants.CHARACTERS:
- break;
-
- case END_ELEMENT:
- name = reader.getName();
-
- // Clear current state when reading reaching end element
- if (SERVICE_QNAME.equals(name)) {
- componentService = null;
- compositeService = null;
- contract = null;
- } else if (INCLUDE_QNAME.equals(name)) {
- include = null;
- } else if (REFERENCE_QNAME.equals(name)) {
- componentReference = null;
- compositeReference = null;
- contract = null;
- } else if (PROPERTY_QNAME.equals(name)) {
- componentProperty = null;
- property = null;
- } else if (COMPONENT_QNAME.equals(name)) {
- // component = null;
- } else if (WIRE_QNAME.equals(name)) {
- wire = null;
- } else if (CALLBACK_QNAME.equals(name)) {
- callback = null;
- }
- break;
- }
-
- // Read the next element
- if (reader.hasNext()) {
- reader.next();
- }
- }
- this.generatedComponent = component;
- return component;
- }
-
- public void write(Composite composite, XMLStreamWriter writer)
- throws ContributionWriteException, XMLStreamException {
-
- // Write <composite> element
- writeStartDocument(writer, COMPOSITE, writeConstrainingType(composite),
- new XAttr(TARGET_NAMESPACE, composite.getName()
- .getNamespaceURI()), new XAttr(NAME, composite
- .getName().getLocalPart()), new XAttr(AUTOWIRE,
- composite.getAutowire()), policyProcessor
- .writePolicies(composite));
-
- // Write <service> elements
- for (Service service : composite.getServices()) {
- CompositeService compositeService = (CompositeService) service;
- Component promotedComponent = compositeService
- .getPromotedComponent();
- ComponentService promotedService = compositeService
- .getPromotedService();
- String promote;
- if (promotedService != null) {
- if (promotedService.getName() != null) {
- promote = promotedComponent.getName() + '/'
- + promotedService.getService();
- } else {
- promote = promotedComponent.getName();
- }
- } else {
- promote = null;
- }
- writeStart(writer, SERVICE, new XAttr(NAME, service.getName()),
- new XAttr(PROMOTE, promote), policyProcessor
- .writePolicies(service));
-
- // Write service interface
- extensionProcessor.write(service.getInterfaceContract(), writer);
-
- // Write bindings
- for (Binding binding : service.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write <callback> element
- if (service.getCallback() != null) {
- Callback callback = service.getCallback();
- writeStart(writer, CALLBACK, policyProcessor
- .writePolicies(callback));
-
- // Write callback bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extension : callback.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extension : service.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <component> elements
- for (Component component : composite.getComponents()) {
- writeStart(writer, COMPONENT, new XAttr(NAME, component.getName()),
- new XAttr(URI, component.getURI()), new XAttr(AUTOWIRE,
- component.getAutowire()), policyProcessor
- .writePolicies(component));
-
- // Write <service> elements
- for (ComponentService service : component.getServices()) {
- writeStart(writer, SERVICE, new XAttr(NAME, service.getName()),
- policyProcessor.writePolicies(service));
-
- // Write service interface
- extensionProcessor
- .write(service.getInterfaceContract(), writer);
-
- // Write bindings
- for (Binding binding : service.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write <callback> element
- if (service.getCallback() != null) {
- Callback callback = service.getCallback();
- writeStart(writer, CALLBACK, policyProcessor
- .writePolicies(callback));
-
- // Write bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extension : callback.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extension : service.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <reference> elements
- for (ComponentReference reference : component.getReferences()) {
- writeStart(writer, REFERENCE, new XAttr(NAME, reference
- .getName()), new XAttr(AUTOWIRE, reference
- .getAutowire()), writeTargets(reference),
- policyProcessor.writePolicies(reference));
-
- // Write reference interface
- extensionProcessor.write(reference.getInterfaceContract(),
- writer);
-
- // Write bindings
- for (Binding binding : reference.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write callback
- if (reference.getCallback() != null) {
- Callback callback = reference.getCallback();
- writeStart(writer, CALLBACK, policyProcessor
- .writePolicies(callback));
-
- // Write callback bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extensions : callback.getExtensions()) {
- extensionProcessor.write(extensions, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extensions : reference.getExtensions()) {
- extensionProcessor.write(extensions, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <property> elements
- for (ComponentProperty property : component.getProperties()) {
- writeStart(writer, PROPERTY,
- new XAttr(NAME, property.getName()), new XAttr(
- MUST_SUPPLY, property.isMustSupply()),
- new XAttr(MANY, property.isMany()), new XAttr(TYPE,
- property.getXSDType()), new XAttr(ELEMENT,
- property.getXSDElement()), new XAttr(SOURCE,
- property.getSource()), new XAttr(FILE, property
- .getFile()), policyProcessor
- .writePolicies(property));
-
- // Write property value
- writePropertyValue(property.getValue(), property
- .getXSDElement(), property.getXSDType(), writer);
-
- // Write extensions
- for (Object extension : property.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write the component implementation
- Implementation implementation = component.getImplementation();
- if (implementation instanceof Composite) {
- writeStart(writer, IMPLEMENTATION_COMPOSITE, new XAttr(NAME,
- composite.getName()));
- writeEnd(writer);
- } else {
- extensionProcessor.write(component.getImplementation(), writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <reference> elements
- for (Reference reference : composite.getReferences()) {
- CompositeReference compositeReference = (CompositeReference) reference;
-
- // Write list of promoted references
- List<String> promote = new ArrayList<String>();
- for (ComponentReference promoted : compositeReference
- .getPromotedReferences()) {
- promote.add(promoted.getName());
- }
-
- // Write <reference> element
- writeStart(writer, REFERENCE, new XAttr(NAME, reference.getName()),
- new XAttr(PROMOTE, promote), policyProcessor
- .writePolicies(reference));
-
- // Write reference interface
- extensionProcessor.write(reference.getInterfaceContract(), writer);
-
- // Write bindings
- for (Binding binding : reference.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write <callback> element
- if (reference.getCallback() != null) {
- Callback callback = reference.getCallback();
- writeStart(writer, CALLBACK);
-
- // Write callback bindings
- for (Binding binding : callback.getBindings()) {
- extensionProcessor.write(binding, writer);
- }
-
- // Write extensions
- for (Object extension : callback.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write extensions
- for (Object extension : reference.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <property> elements
- for (Property property : composite.getProperties()) {
- writeStart(writer, PROPERTY, new XAttr(NAME, property.getName()),
- new XAttr(MUST_SUPPLY, property.isMustSupply()), new XAttr(
- MANY, property.isMany()), new XAttr(TYPE, property
- .getXSDType()), new XAttr(ELEMENT, property
- .getXSDElement()), policyProcessor
- .writePolicies(property));
-
- // Write property value
- writePropertyValue(property.getValue(), property.getXSDElement(),
- property.getXSDType(), writer);
-
- // Write extensions
- for (Object extension : property.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEnd(writer);
- }
-
- // Write <wire> elements
- for (Wire wire : composite.getWires()) {
- writeStart(writer, WIRE, new XAttr(SOURCE, wire.getSource()
- .getName()), new XAttr(TARGET, wire.getTarget().getName()));
-
- // Write extensions
- for (Object extension : wire.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
- writeEnd(writer);
- }
-
- for (Object extension : composite.getExtensions()) {
- extensionProcessor.write(extension, writer);
- }
-
- writeEndDocument(writer);
- }
-
- public void resolve(Composite composite, ModelResolver resolver)
- throws ContributionResolveException, PolicyValidationException {
-
- // Resolve constraining type
- ConstrainingType constrainingType = composite.getConstrainingType();
- if (constrainingType != null) {
- constrainingType = resolver.resolveModel(ConstrainingType.class,
- constrainingType);
- composite.setConstrainingType(constrainingType);
- }
-
- // Resolve includes in the composite
- for (int i = 0, n = composite.getIncludes().size(); i < n; i++) {
- Composite include = composite.getIncludes().get(i);
- if (include != null) {
- include = resolver.resolveModel(Composite.class, include);
- composite.getIncludes().set(i, include);
- }
- }
-
- // Resolve extensions
- for (Object extension : composite.getExtensions()) {
- if (extension != null) {
- extensionProcessor.resolve(extension, resolver);
- }
- }
-
- // Resolve component implementations, services and references
- for (Component component : composite.getComponents()) {
- constrainingType = component.getConstrainingType();
- if (constrainingType != null) {
- constrainingType = resolver.resolveModel(
- ConstrainingType.class, constrainingType);
- component.setConstrainingType(constrainingType);
- }
-
- Implementation implementation = component.getImplementation();
- if (implementation != null) {
- implementation = resolveImplementation(implementation, resolver);
- component.setImplementation(implementation);
- }
-
- for (ComponentProperty componentProperty : component
- .getProperties()) {
- if (componentProperty.getFile() != null) {
- DeployedArtifact deployedArtifact = contributionFactory
- .createDeployedArtifact();
- deployedArtifact.setURI(componentProperty.getFile());
- deployedArtifact = resolver.resolveModel(
- DeployedArtifact.class, deployedArtifact);
- if (deployedArtifact.getLocation() != null) {
- componentProperty.setFile(deployedArtifact
- .getLocation());
- }
- }
- }
- resolveIntents(component.getRequiredIntents(), resolver);
- resolvePolicySets(component.getPolicySets(), resolver);
- resolveContracts(component.getServices(), resolver);
- resolveContracts(component.getReferences(), resolver);
- }
-
- // Resolve composite services and references
- resolveContracts(composite.getServices(), resolver);
- resolveContracts(composite.getReferences(), resolver);
- if (composite instanceof PolicySetAttachPoint) {
- resolveIntents(((PolicySetAttachPoint) composite)
- .getRequiredIntents(), resolver);
- resolvePolicySets(((PolicySetAttachPoint) composite)
- .getPolicySets(), resolver);
- }
- }
-
- public void write(Component model, XMLStreamWriter writer)
- throws ContributionWriteException, XMLStreamException {
- write(this.composite, writer);
-
- }
-
- public void resolve(Component component, ModelResolver resolver)
- throws ContributionResolveException {
- // Resolve component implementations, services and references
- ConstrainingType constrainingType = component.getConstrainingType();
- if (constrainingType != null) {
- constrainingType = resolver.resolveModel(ConstrainingType.class,
- constrainingType);
- component.setConstrainingType(constrainingType);
- }
-
- Implementation implementation = component.getImplementation();
- if (implementation != null) {
- implementation = resolveImplementation(implementation, resolver);
- component.setImplementation(implementation);
- }
-
- for (ComponentProperty componentProperty : component.getProperties()) {
- if (componentProperty.getFile() != null) {
- DeployedArtifact deployedArtifact = contributionFactory
- .createDeployedArtifact();
- deployedArtifact.setURI(componentProperty.getFile());
- deployedArtifact = resolver.resolveModel(
- DeployedArtifact.class, deployedArtifact);
- if (deployedArtifact.getLocation() != null) {
- componentProperty.setFile(deployedArtifact.getLocation());
- }
- }
- }
- resolveIntents(component.getRequiredIntents(), resolver);
- resolvePolicySets(component.getPolicySets(), resolver);
- resolveContracts(component.getServices(), resolver);
- resolveContracts(component.getReferences(), resolver);
- }
-
- public void resolveReference(ComponentReference reference,
- ModelResolver resolver) throws ContributionResolveException {
- resolveIntents(reference.getRequiredIntents(), resolver);
- resolvePolicySets(reference.getPolicySets(), resolver);
- List<ComponentReference> contracts = new ArrayList<ComponentReference>();
- contracts.add(reference);
- resolveContracts(contracts, resolver);
- }
-
- public QName getArtifactType() {
- return COMPONENT_QNAME;
- }
-
- public Class<Component> getModelType() {
-
- return Component.class;
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java
deleted file mode 100644
index d93a92b32c..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater;
-
-public class ComponentNotFoundException extends Exception {
-
- public ComponentNotFoundException(String string) {
- super(string);
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java
deleted file mode 100644
index 8743556538..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-
-public interface ComponentUpdater {
- public ComponentReference addReferenceWire(String referenceName,
- String className, Class<?> interfaceName, String targetComponent)
- throws ComponentUpdaterException, ComponentNotFoundException;
-
- public ComponentReference removeReferenceWire(String referenceName,
- String targetComponent) throws ComponentUpdaterException,
- ComponentNotFoundException;
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java
deleted file mode 100644
index f94238089f..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater;
-
-public class ComponentUpdaterException extends Exception {
-
- private static final long serialVersionUID = 33909120912033L;
-
- public ComponentUpdaterException(String string) {
- super(string);
- }
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java
deleted file mode 100644
index 52d7e602b7..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater;
-
-public class CompositeNotFoundException extends Exception {
- public CompositeNotFoundException(String msg) {
- super(msg);
- }
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java
deleted file mode 100644
index 4f55148651..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater;
-
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.MetaComponent;
-
-public interface CompositeUpdater {
- Component addComponent(MetaComponent c) throws CompositeUpdaterException;
-
- Component removeComponent(String componentName)
- throws CompositeUpdaterException;
-
- Component findComponent(String componentName);
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java
deleted file mode 100644
index 3dc86d97f7..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater;
-
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-
-public class CompositeUpdaterException extends Exception {
-
- public CompositeUpdaterException(String string) {
- super(string);
- }
-
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java b/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java
deleted file mode 100644
index a364c23174..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.contribution.updater;
-
-/*
- * This interface is used to get and modify artifacts from an existing
- * contribution
- */
-public interface ContributionUpdater {
- CompositeUpdater getCompositeUpdater(String contribURI, String compositeURI);
-
- ComponentUpdater getComponentUpdater(String contribURI,
- String compositeURI, String componentName);
-}
diff --git a/branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite b/branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite
deleted file mode 100644
index 76714a0e9c..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/test/resources/HelloComposite.composite
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://test"
- xmlns:test="http://test"
- name="HelloComposite">
- <component name="HelloComponentService">
- <implementation.java="org.apache.tuscany.sca.contribution.updater.impl.HelloComponent"/>
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar b/branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar
deleted file mode 100644
index 9c46c679d2..0000000000
--- a/branches/sca-android/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/core-spring/LICENSE b/branches/sca-android/modules/core-spring/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/core-spring/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/core-spring/META-INF/README b/branches/sca-android/modules/core-spring/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/core-spring/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/core-spring/NOTICE b/branches/sca-android/modules/core-spring/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/core-spring/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/core-spring/pom.xml b/branches/sca-android/modules/core-spring/pom.xml
deleted file mode 100644
index 1ff1398167..0000000000
--- a/branches/sca-android/modules/core-spring/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-core-spring</artifactId>
- <name>Apache Tuscany SCA Spring-based Core Runtime</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>2.0.8</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- <version>2.0.8</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>2.0.8</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.core.spring</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.core.spring*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java
deleted file mode 100644
index 94bd5c8cf2..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.assembly.impl;
-
-import org.apache.tuscany.sca.assembly.AbstractProperty;
-import org.apache.tuscany.sca.assembly.AbstractReference;
-import org.apache.tuscany.sca.assembly.AbstractService;
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Callback;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.CompositeReference;
-import org.apache.tuscany.sca.assembly.CompositeService;
-import org.apache.tuscany.sca.assembly.ConfiguredOperation;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.Wire;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-
-/**
- * An alternate implementation of the SCA assembly model factory that creates SCA
- * assembly model objects backed by Spring bean definitions.
- *
- * @version $Rev$ $Date$
- */
-public class BeanAssemblyFactory implements AssemblyFactory {
- private AssemblyFactory defaultFactory;
- private BeanDefinitionRegistry beanRegistry;
-
- public BeanAssemblyFactory(AssemblyFactory defaultFactory, BeanDefinitionRegistry beanRegistry) {
- this.defaultFactory = defaultFactory;
- this.beanRegistry = beanRegistry;
- }
-
- public BeanAssemblyFactory(BeanDefinitionRegistry beanRegistry) {
- this(new DefaultAssemblyFactory(), beanRegistry);
- }
-
- public AbstractProperty createAbstractProperty() {
- return defaultFactory.createAbstractProperty();
- }
-
- public AbstractReference createAbstractReference() {
- return defaultFactory.createAbstractReference();
- }
-
- public AbstractService createAbstractService() {
- return defaultFactory.createAbstractService();
- }
-
- public Callback createCallback() {
- return defaultFactory.createCallback();
- }
-
- public Component createComponent() {
- return new BeanComponentImpl(beanRegistry);
- }
-
- public ComponentProperty createComponentProperty() {
- return defaultFactory.createComponentProperty();
- }
-
- public ComponentReference createComponentReference() {
- return defaultFactory.createComponentReference();
- }
-
- public ComponentService createComponentService() {
- return defaultFactory.createComponentService();
- }
-
- public ComponentType createComponentType() {
- return defaultFactory.createComponentType();
- }
-
- public Composite createComposite() {
- return defaultFactory.createComposite();
- }
-
- public CompositeReference createCompositeReference() {
- return defaultFactory.createCompositeReference();
- }
-
- public CompositeService createCompositeService() {
- return defaultFactory.createCompositeService();
- }
-
- public ConstrainingType createConstrainingType() {
- return defaultFactory.createConstrainingType();
- }
-
- public Property createProperty() {
- return defaultFactory.createProperty();
- }
-
- public Reference createReference() {
- return defaultFactory.createReference();
- }
-
- public Service createService() {
- return defaultFactory.createService();
- }
-
- public Wire createWire() {
- return defaultFactory.createWire();
- }
-
- public ConfiguredOperation createConfiguredOperation() {
- return defaultFactory.createConfiguredOperation();
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java
deleted file mode 100644
index 2c27a5c6d5..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.assembly.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentProperty;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.ChildBeanDefinition;
-
-/**
- * An implementation of the SCA assembly Component interface backed by a Spring
- * Bean definition.
- *
- * @version $Rev$ $Date$
- */
-public class BeanComponentImpl extends ChildBeanDefinition implements Component, Cloneable {
- private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
-
- public IntentAttachPointType getType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void setType(IntentAttachPointType type) {
- // TODO Auto-generated method stub
-
- }
-
- private static final long serialVersionUID = 1L;
-
- private ConstrainingType constrainingType;
- private Implementation implementation;
- private String name;
- private String uri;
- private List<ComponentService> services = new ArrayList<ComponentService>();
- private List<Intent> requiredIntents = new ArrayList<Intent>();
- private List<PolicySet> policySets = new ArrayList<PolicySet>();
- private List<Object> extensions = new ArrayList<Object>();
- private boolean unresolved = false;
- private BeanDefinitionRegistry beanRegistry;
-
- protected BeanComponentImpl(BeanDefinitionRegistry beanRegistry) {
- super((String)"");
- this.beanRegistry = beanRegistry;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- BeanComponentImpl clone = (BeanComponentImpl)super.clone();
-
- clone.getProperties().clear();
- for (ComponentProperty property : getProperties()) {
- clone.getProperties().add((ComponentProperty)property.clone());
- }
- clone.getReferences().clear();
- for (ComponentReference reference : getReferences()) {
- clone.getReferences().add((ComponentReference)reference.clone());
- }
- clone.getServices().clear();
- for (ComponentService service : getServices()) {
- clone.getServices().add((ComponentService)service.clone());
- }
- return clone;
- }
-
- @Override
- public String getParentName() {
- //TODO find a better name for bean definitions representing component types
- return String.valueOf(System.identityHashCode(implementation));
- }
-
- public ConstrainingType getConstrainingType() {
- return constrainingType;
- }
-
- public Implementation getImplementation() {
- return implementation;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
-
- // Register this bean definition in the bean registry
- this.beanRegistry.registerBeanDefinition(uri, this);
- }
-
- public String getName() {
- return name;
- }
-
- //TODO use a better list implementation
- private List<ComponentProperty> properties = new ArrayList<ComponentProperty>() {
- private static final long serialVersionUID = 1L;
-
- // Add a property
- @Override
- public boolean add(ComponentProperty property) {
-
- // Add corresponding bean property value
- getPropertyValues().addPropertyValue(property.getName(), property.getValue());
-
- return super.add(property);
- }
- };
-
- public List<ComponentProperty> getProperties() {
- return properties;
- }
-
- //TODO use a better list implementation
- private List<ComponentReference> references = new ArrayList<ComponentReference>() {
- private static final long serialVersionUID = 1L;
-
- // Add a reference
- @Override
- public boolean add(ComponentReference reference) {
-
- // Add corresponding bean property value
- if (!reference.getName().startsWith("$self$.")) {
- BeanReferenceImpl beanReference = new BeanReferenceImpl(reference);
- getPropertyValues().addPropertyValue(reference.getName(), beanReference);
- }
- return super.add(reference);
- }
- };
-
- public List<ComponentReference> getReferences() {
- return references;
- }
-
- public List<ComponentService> getServices() {
- return services;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- this.constrainingType = constrainingType;
- }
-
- public void setImplementation(Implementation implementation) {
- this.implementation = implementation;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
- public List<PolicySet> getPolicySets() {
- return policySets;
- }
-
- public boolean isAutowire() {
- return super.getAutowireMode() == AUTOWIRE_BY_TYPE;
- }
-
- public Boolean getAutowire() {
- int autowire = super.getAutowireMode();
- if (autowire == AUTOWIRE_BY_TYPE) {
- return Boolean.TRUE;
- } else if (autowire == AUTOWIRE_NO) {
- return Boolean.FALSE;
- } else {
- return null;
- }
- }
-
- public void setAutowire(Boolean autowire) {
- super.setAutowireMode(autowire ? AUTOWIRE_BY_TYPE : AUTOWIRE_NO);
- }
-
- public List<Object> getExtensions() {
- return extensions;
- }
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean undefined) {
- this.unresolved = undefined;
- }
-
- public void setPolicySets(List<PolicySet> policySets) {
- this.policySets = policySets;
- }
-
- public void setRequiredIntents(List<Intent> intents) {
- this.requiredIntents = intents;
- }
-
- public List<PolicySet> getApplicablePolicySets() {
- return applicablePolicySets;
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java
deleted file mode 100644
index 7b747372b4..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.assembly.impl;
-
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.springframework.beans.factory.config.RuntimeBeanReference;
-
-/**
- * An implementation of RuntimeBeanReference wrapping an SCA assembly
- * Reference
- *
- * @version $Rev$ $Date$
- */
-public class BeanReferenceImpl extends RuntimeBeanReference {
- private Reference reference;
-
- protected BeanReferenceImpl(Reference reference) {
- super("temp");
- this.reference = reference;
- }
-
- @Override
- public String getBeanName() {
- SCABinding binding = reference.getBinding(SCABinding.class);
- String name = binding.getURI();
- if (name.startsWith("/")) {
- name = name.substring(1);
- }
- int s = name.lastIndexOf('/');
- if (s != -1) {
- name = name.substring(0, s);
- }
- return name;
- }
-
- @Override
- public boolean equals(Object other) {
- if (this != other) {
- if (other instanceof RuntimeBeanReference) {
- RuntimeBeanReference br = (RuntimeBeanReference)other;
- return (getBeanName().equals(br.getBeanName()) && this.isToParent() == br.isToParent());
- } else
- return false;
- } else
- return true;
- }
-
- @Override
- public int hashCode() {
- return getBeanName().hashCode() * 29 + (this.isToParent() ? 1 : 0);
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java
deleted file mode 100644
index b275bfa9a7..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.context;
-
-import java.lang.ref.WeakReference;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.sca.contribution.resolver.ClassReference;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-
-
-/**
- * A default implementation of an artifact resolver, based on a map.
- *
- * @version $Rev$ $Date$
- */
-public class ModelResolverImpl implements ModelResolver {
- private static final long serialVersionUID = -7826976465762296634L;
-
- private Map<Object, Object> map = new HashMap<Object, Object>();
-
- private WeakReference<ClassLoader> classLoader;
-
- public ModelResolverImpl(ClassLoader classLoader) {
- this.classLoader = new WeakReference<ClassLoader>(classLoader);
- }
-
- public <T> T resolveModel(Class<T> modelClass, T unresolved) {
- Object resolved = map.get(unresolved);
- if (resolved != null) {
-
- // Return the resolved object
- return modelClass.cast(resolved);
-
- } else if (unresolved instanceof ClassReference) {
-
- // Load a class on demand
- ClassReference classReference = (ClassReference)unresolved;
- Class clazz;
- try {
- clazz = Class.forName(classReference.getClassName(), true, classLoader.get());
- } catch (ClassNotFoundException e) {
-
- // Return the unresolved object
- return unresolved;
- }
-
- // Store a new ClassReference wrapping the loaded class
- resolved = new ClassReference(clazz);
- map.put(resolved, resolved);
-
- // Return the resolved ClassReference
- return modelClass.cast(resolved);
-
- } else {
-
- // Return the unresolved object
- return unresolved;
- }
- }
-
- public void addModel(Object resolved) {
- map.put(resolved, resolved);
- }
-
- public Object removeModel(Object resolved) {
- return map.remove(resolved);
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java
deleted file mode 100644
index 8fa5f4cd53..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.context;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.transform.TransformerFactory;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.service.ContributionException;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.core.spring.assembly.impl.BeanAssemblyFactory;
-import org.apache.tuscany.sca.core.spring.implementation.java.impl.BeanJavaImplementationFactory;
-import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory;
-import org.apache.tuscany.sca.implementation.java.introspect.JavaClassVisitor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.AllowsPassByReferenceProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.BaseJavaClassVisitor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ComponentNameProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ConstructorProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ContextProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ConversationProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.DestroyProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.EagerInitProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.HeuristicPojoProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.InitProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.PolicyProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.PropertyProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ReferenceProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ResourceProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ScopeProcessor;
-import org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.Problem;
-import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-import org.springframework.beans.factory.support.DefaultListableBeanFactory;
-
-/**
- * A mini test runtime that uses the SCA assembly model variant implementation
- * backed by Spring bean definitions.
- *
- * @version $Rev$ $Date$
- */
-public class SCADomainContext {
-
- private DefaultListableBeanFactory beanFactory;
-
- public SCADomainContext(String... compositeFiles) {
-
- // Create Spring bean factory
- beanFactory = new DefaultListableBeanFactory();
-
- // Create SCA assembly and SCA Java factories
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- AssemblyFactory assemblyFactory = new BeanAssemblyFactory(new DefaultAssemblyFactory(), beanFactory);
- modelFactories.addFactory(assemblyFactory);
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class);
- JavaInterfaceFactory javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
- PolicyFactory policyFactory = modelFactories.getFactory(PolicyFactory.class);
- SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
- modelFactories.addFactory(javaFactory);
- JavaImplementationFactory javaImplementationFactory = new BeanJavaImplementationFactory(beanFactory);
- modelFactories.addFactory(javaImplementationFactory);
-
- BaseJavaClassVisitor[] extensions = new BaseJavaClassVisitor[] {
- new ConstructorProcessor(assemblyFactory),
- new AllowsPassByReferenceProcessor(assemblyFactory),
- new ComponentNameProcessor(assemblyFactory),
- new ContextProcessor(assemblyFactory),
- new ConversationProcessor(assemblyFactory),
- new DestroyProcessor(assemblyFactory),
- new EagerInitProcessor(assemblyFactory),
- new InitProcessor(assemblyFactory),
- new PropertyProcessor(assemblyFactory),
- new ReferenceProcessor(assemblyFactory, javaFactory),
- new ResourceProcessor(assemblyFactory),
- new ScopeProcessor(assemblyFactory),
- new ServiceProcessor(assemblyFactory, javaFactory),
- new HeuristicPojoProcessor(assemblyFactory, javaFactory),
- new PolicyProcessor(assemblyFactory, policyFactory)
- };
- for (JavaClassVisitor e : extensions) {
- javaImplementationFactory.addClassVisitor(e);
- }
-
- // Populate ArtifactProcessor registry
- StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- StAXArtifactProcessor<Composite> compositeProcessor = staxProcessors.getProcessor(Composite.class);
-
- // Create a resolver
- //FIXME The ClassLoader should be passed in
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- ModelResolverImpl resolver = new ModelResolverImpl(classLoader);
-
- try {
- XMLInputFactory inputFactory = XMLInputFactory.newInstance();
-
- // Read the composite files
- List<Composite> composites = new ArrayList<Composite>();
- for (String compositeFile: compositeFiles) {
- InputStream is = classLoader.getResourceAsStream(compositeFile);
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- Composite composite = compositeProcessor.read(reader);
- resolver.addModel(composite);
- composites.add(composite);
- }
-
- for (Composite composite: composites) {
-
- // Resolve the composite
- compositeProcessor.resolve(composite, resolver);
- }
-
- // Wire the top level component's composite
- DocumentBuilderFactory documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class);
- TransformerFactory transformerFactory = modelFactories.getFactory(TransformerFactory.class);
- buildComposite(composites.get(0), assemblyFactory, scaBindingFactory,
- documentBuilderFactory, transformerFactory, mapper);
-
- } catch (ContributionException e) {
- throw new RuntimeException(e);
- } catch (CompositeBuilderException e) {
- throw new RuntimeException(e);
- } catch (XMLStreamException e) {
- throw new RuntimeException(e);
- }
- }
-
- private void buildComposite(Composite composite, AssemblyFactory assemblyFactory,
- SCABindingFactory scaBindingFactory,
- DocumentBuilderFactory documentBuilderFactory,
- TransformerFactory transformerFactory,
- InterfaceContractMapper interfaceContractMapper) throws CompositeBuilderException {
-
- Monitor monitor = new Monitor() {
-
- public void problem(Problem problem) {
- System.out.println("Composite assembly problem: " + problem.toString());
- }
- public List<Problem> getProblems() {
- return null;
- }
- };
-
- // Configure and wire the composite
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(),
- documentBuilderFactory, transformerFactory, interfaceContractMapper, monitor);
- compositeUtil.build(composite);
-
- }
-
- public <B> B getService(Class<B> businessInterface, String serviceName) {
- Object bean = beanFactory.getBean(serviceName);
- return businessInterface.cast(bean);
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java
deleted file mode 100644
index 9587a2b0ae..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.implementation.java.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ConfiguredOperation;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.implementation.java.BaseJavaImplementation;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-
-/**
- * An implementation of the SCA assembly JavaImplementation interface backed by a Spring
- * Bean definition.
- *
- * @version $Rev$ $Date$
- */
-public class BeanBaseJavaImplementationImpl extends RootBeanDefinition implements BaseJavaImplementation, Cloneable {
- private static final long serialVersionUID = 1L;
-
- private List<Service> services = new ArrayList<Service>();
- private ConstrainingType constrainingType;
- private List<Object> extensions = new ArrayList<Object>();
- private boolean unresolved;
- private BeanDefinitionRegistry beanRegistry;
- private String uri;
-
- private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
- private List<ConfiguredOperation> configuredOperations = new ArrayList<ConfiguredOperation>();
- private List<PolicySet> policySets = new ArrayList<PolicySet>();
- private List<Intent> requiredIntents = new ArrayList<Intent>();
- private IntentAttachPointType type = null;
-
- protected BeanBaseJavaImplementationImpl(BeanDefinitionRegistry beanRegistry) {
- this.beanRegistry = beanRegistry;
-
- // Register this bean definition in the bean registry
- //TODO find a better name for bean definitions representing component types
- String name = String.valueOf(System.identityHashCode(this));
- this.beanRegistry.registerBeanDefinition(name, this);
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- BeanBaseJavaImplementationImpl clone = (BeanBaseJavaImplementationImpl)super.clone();
-
- clone.getServices().clear();
- for (Service service : getServices()) {
- clone.getServices().add((Service)service.clone());
- }
- clone.getReferences().clear();
- for (Reference reference : getReferences()) {
- clone.getReferences().add((Reference)reference.clone());
- }
- clone.getProperties().clear();
- for (Property property : getProperties()) {
- clone.getProperties().add((Property)property.clone());
- }
- return clone;
- }
-
- public Class<?> getJavaClass() {
- return super.getBeanClass();
- }
-
- public String getName() {
- return super.getBeanClassName();
- }
-
- public void setJavaClass(Class<?> javaClass) {
- super.setBeanClass(javaClass);
- }
-
- public void setName(String className) {
- super.setBeanClassName(className);
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public ConstrainingType getConstrainingType() {
- return constrainingType;
- }
-
- //TODO use a better list implementation
- private List<Property> properties = new ArrayList<Property>() {
- private static final long serialVersionUID = 1L;
-
- // Add a property
- @Override
- public boolean add(Property property) {
-
- // Add corresponding bean property value
- getPropertyValues().addPropertyValue(property.getName(), property.getValue());
-
- return super.add(property);
- }
- };
-
- public List<Property> getProperties() {
- return properties;
- }
-
- //TODO use a better list implementation
- private List<Reference> references = new ArrayList<Reference>() {
- private static final long serialVersionUID = 1L;
-
- // Add a reference
- @Override
- public boolean add(Reference reference) {
-
- // Add corresponding bean property value
- String target;
- if (!reference.getTargets().isEmpty()) {
- //TODO handle multiplicity
- target = reference.getTargets().get(0).getName();
- int i = target.indexOf('/');
- if (i != -1)
- target = target.substring(0, i);
- } else {
- target = null;
- }
- getPropertyValues().addPropertyValue(reference.getName(), target);
-
- return super.add(reference);
- }
- };
-
-
- public List<Reference> getReferences() {
- return references;
- }
-
- public List<Service> getServices() {
- return services;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- this.constrainingType = constrainingType;
- }
-
- public List<Object> getExtensions() {
- return extensions;
- }
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-
- public List<PolicySet> getApplicablePolicySets() {
- return applicablePolicySets;
- }
-
- public List<ConfiguredOperation> getConfiguredOperations() {
- return configuredOperations;
- }
-
- public List<PolicySet> getPolicySets() {
- return policySets;
- }
-
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
- public IntentAttachPointType getType() {
- return type;
- }
-
- public void setType(IntentAttachPointType type) {
- this.type = type;
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java
deleted file mode 100644
index 6b19bac413..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.implementation.java.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.implementation.java.IntrospectionException;
-import org.apache.tuscany.sca.implementation.java.JavaImplementation;
-import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory;
-import org.apache.tuscany.sca.implementation.java.impl.JavaClassIntrospectorImpl;
-import org.apache.tuscany.sca.implementation.java.introspect.JavaClassVisitor;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-
-/**
- * An alternate implementation of the SCA Java assembly model factory that
- * creates SCA Java assembly model objects backed by Spring bean definitions.
- *
- * @version $Rev$ $Date$
- */
-public class BeanJavaImplementationFactory implements JavaImplementationFactory {
-
- private BeanDefinitionRegistry beanRegistry;
- private List<JavaClassVisitor> visitors = new ArrayList<JavaClassVisitor>();
- private JavaClassIntrospectorImpl introspector;
-
- public BeanJavaImplementationFactory(BeanDefinitionRegistry beanRegistry) {
- this.beanRegistry = beanRegistry;
- introspector = new JavaClassIntrospectorImpl(visitors);
- }
-
- public JavaImplementation createJavaImplementation() {
- return new BeanJavaImplementationImpl(beanRegistry);
- }
-
- public void createJavaImplementation(JavaImplementation javaImplementation, Class<?> implementationClass)
- throws IntrospectionException {
- introspector.introspectClass(javaImplementation, implementationClass);
- }
-
- public JavaImplementation createJavaImplementation(Class<?> implementationClass) throws IntrospectionException {
- JavaImplementation javaImplementation = createJavaImplementation();
- introspector.introspectClass(javaImplementation, implementationClass);
- return javaImplementation;
- }
-
- public void addClassVisitor(JavaClassVisitor visitor) {
- visitors.add(visitor);
- }
-
- public void removeClassVisitor(JavaClassVisitor visitor) {
- visitors.remove(visitor);
- }
-
- public List<JavaClassVisitor> getClassVisitors() {
- return visitors;
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java
deleted file mode 100644
index 7fc82d8711..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.implementation.java.impl;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Member;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sca.implementation.java.JavaImplementation;
-import org.apache.tuscany.sca.implementation.java.impl.JavaConstructorImpl;
-import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl;
-import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl;
-import org.apache.tuscany.sca.implementation.java.impl.JavaScopeImpl;
-import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-
-/**
- * An implementation of the SCA assembly JavaImplementation interface backed by a Spring
- * Bean definition.
- *
- * @version $Rev$ $Date$
- */
-public class BeanJavaImplementationImpl extends BeanBaseJavaImplementationImpl implements JavaImplementation {
- private static final long serialVersionUID = 6792198458193774178L;
-
- private JavaConstructorImpl<?> constructorDefinition;
- private Map<Constructor, JavaConstructorImpl> constructors = new HashMap<Constructor, JavaConstructorImpl>();
- private Method initMethod;
- private Method destroyMethod;
- private final Map<String, JavaResourceImpl> resources = new HashMap<String, JavaResourceImpl>();
- private final Map<String, JavaElementImpl> propertyMembers = new HashMap<String, JavaElementImpl>();
- private final Map<String, JavaElementImpl> referenceMembers = new HashMap<String, JavaElementImpl>();
- private final Map<String, Collection<JavaElementImpl>> callbackMembers = new HashMap<String, Collection<JavaElementImpl>>();
- private List<Member> conversationIDMember = new ArrayList<Member>();
- private boolean eagerInit;
- private boolean allowsPassByReference;
- private List<Method> allowsPassByReferenceMethods = new ArrayList<Method>();
- private long maxAge = -1;
- private long maxIdleTime = -1;
- private JavaScopeImpl scope = JavaScopeImpl.STATELESS;
- private List<PolicyHandlerTuple> policyHandlerClassNames = null;
-
- protected BeanJavaImplementationImpl(BeanDefinitionRegistry beanRegistry) {
- super(beanRegistry);
- }
-
- public JavaConstructorImpl<?> getConstructor() {
- return constructorDefinition;
- }
-
- public void setConstructor(JavaConstructorImpl<?> definition) {
- this.constructorDefinition = definition;
- }
-
- public Method getInitMethod() {
- return initMethod;
- }
-
- public void setInitMethod(Method initMethod) {
- this.initMethod = initMethod;
- }
-
- public Method getDestroyMethod() {
- return destroyMethod;
- }
-
- public void setDestroyMethod(Method destroyMethod) {
- this.destroyMethod = destroyMethod;
- }
-
- public Map<String, JavaResourceImpl> getResources() {
- return resources;
- }
-
- public List<Member> getConversationIDMembers() {
- return this.conversationIDMember;
- }
-
- public void addConversationIDMember(Member conversationIDMember) {
- this.conversationIDMember.add(conversationIDMember);
- }
-
- public boolean isAllowsPassByReference() {
- return allowsPassByReference;
- }
-
- public void setAllowsPassByReference(boolean allowsPassByReference) {
- this.allowsPassByReference = allowsPassByReference;
- }
-
- public List<Method> getAllowsPassByReferenceMethods() {
- return allowsPassByReferenceMethods;
- }
-
- public boolean isAllowsPassByReference(Method method) {
- return allowsPassByReference || allowsPassByReferenceMethods.contains(method);
- }
-
- public Map<Constructor, JavaConstructorImpl> getConstructors() {
- return constructors;
- }
-
- public boolean isEagerInit() {
- return eagerInit;
- }
-
- public void setEagerInit(boolean eagerInit) {
- this.eagerInit = eagerInit;
- }
-
- public Map<String, Collection<JavaElementImpl>> getCallbackMembers() {
- return callbackMembers;
- }
-
- public Map<String, JavaElementImpl> getPropertyMembers() {
- return propertyMembers;
- }
-
- public Map<String, JavaElementImpl> getReferenceMembers() {
- return referenceMembers;
- }
-
- public JavaScopeImpl getJavaScope() {
- return scope;
- }
-
- public void setJavaScope(JavaScopeImpl scope) {
- this.scope = scope;
- }
-
- public long getMaxAge() {
- return maxAge;
- }
-
- public void setMaxAge(long maxAge) {
- this.maxAge = maxAge;
- }
-
- public long getMaxIdleTime() {
- return maxIdleTime;
- }
-
- public void setMaxIdleTime(long maxIdleTime) {
- this.maxIdleTime = maxIdleTime;
- }
-
- public List<PolicyHandlerTuple> getPolicyHandlerClassNames() {
- return policyHandlerClassNames;
- }
-
- public void setPolicyHandlerClassNames(List<PolicyHandlerTuple> policyHandlerClassNames) {
- this.policyHandlerClassNames = policyHandlerClassNames;
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java
deleted file mode 100644
index 17a7e9084c..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.implementation.java.impl;
-
-import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceContractImpl;
-
-/**
- * An implementation of a Java interface contract.
- *
- * @version $Rev$ $Date$
- */
-public class BeanJavaInterfaceContractImpl extends JavaInterfaceContractImpl {
-
- protected BeanJavaInterfaceContractImpl() {
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java
deleted file mode 100644
index 492ab2732e..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.implementation.java.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceIntrospectorImpl;
-import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor;
-
-/**
- * An alternate implementation of the SCA Java assembly model factory that creates SCA
- * Java assembly model objects backed by Spring bean definitions.
- *
- * @version $Rev$ $Date$
- */
-public class BeanJavaInterfaceFactory implements JavaInterfaceFactory {
-
- private List<JavaInterfaceVisitor> visitors = new ArrayList<JavaInterfaceVisitor>();
- private JavaInterfaceIntrospectorImpl introspector;
-
- public BeanJavaInterfaceFactory() {
- introspector = new JavaInterfaceIntrospectorImpl(this);
- }
-
- public JavaInterface createJavaInterface() {
- return new BeanJavaInterfaceImpl();
- }
-
- public JavaInterface createJavaInterface(Class<?> interfaceClass) throws InvalidInterfaceException {
- JavaInterface javaInterface = createJavaInterface();
- introspector.introspectInterface(javaInterface, interfaceClass);
- return javaInterface;
- }
-
- public void createJavaInterface(JavaInterface javaInterface, Class<?> interfaceClass) throws InvalidInterfaceException {
- introspector.introspectInterface(javaInterface, interfaceClass);
- }
-
- public JavaInterfaceContract createJavaInterfaceContract() {
- return new BeanJavaInterfaceContractImpl();
- }
-
- public void addInterfaceVisitor(JavaInterfaceVisitor extension) {
- visitors.add(extension);
- }
-
- public void removeInterfaceVisitor(JavaInterfaceVisitor extension) {
- visitors.remove(extension);
- }
-
- public List<JavaInterfaceVisitor> getInterfaceVisitors() {
- return visitors;
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java b/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java
deleted file mode 100644
index 6c3afdb129..0000000000
--- a/branches/sca-android/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring.implementation.java.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceImpl;
-import org.apache.tuscany.sca.policy.Intent;
-
-/**
- * An alternate implementation of the SCA Java assembly model JavaInterface
- * interface.
- *
- * @version $Rev$ $Date$
- */
-public class BeanJavaInterfaceImpl extends JavaInterfaceImpl implements JavaInterface {
-
- private String className;
- private Class<?> javaClass;
- private Class<?> callbackClass;
- private boolean conversational;
- private boolean remotable;
- List<Intent> requiredIntents = new ArrayList<Intent>();
- private List<Object> extensions = new ArrayList<Object>();
- private List<Operation> operations = new ArrayList<Operation>();
- private boolean unresolved = false;
-
- protected BeanJavaInterfaceImpl() {
- }
-
- @Override
- public String getName() {
- if (isUnresolved()) {
- return className;
- }
- else {
- return javaClass.getName();
- }
- }
-
- @Override
- public void setName(String className) {
- if (!isUnresolved())
- throw new IllegalStateException();
- this.className = className;
- }
-
- @Override
- public Class<?> getJavaClass() {
- return javaClass;
- }
-
- @Override
- public void setJavaClass(Class<?> javaClass) {
- this.javaClass = javaClass;
- }
-
- @Override
- public Class<?> getCallbackClass() {
- return callbackClass;
- }
-
- @Override
- public void setCallbackClass(Class<?> callbackClass) {
- this.callbackClass = callbackClass;
- }
-
- @Override
- public boolean isConversational() {
- return conversational;
- }
-
- @Override
- public boolean isRemotable() {
- return remotable;
- }
-
- @Override
- public void setConversational(boolean conversational) {
- this.conversational = conversational;
- }
-
- @Override
- public void setRemotable(boolean local) {
- this.remotable = local;
- }
-
- @Override
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
- public List<Object> getExtensions() {
- return extensions;
- }
-
- @Override
- public List<Operation> getOperations() {
- return operations;
- }
-
- @Override
- public boolean isUnresolved() {
- return unresolved;
- }
-
- @Override
- public void setUnresolved(boolean undefined) {
- this.unresolved = undefined;
- }
-
- @Override
- public void resetDataBinding(String dataBinding) {
- }
-
- @Deprecated
- @Override
- public void setDefaultDataBinding(String dataBinding) {
- }
-
- @Override
- public boolean isDynamic() {
- return false;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/AddService.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/AddService.java
deleted file mode 100644
index f3a24ed6b2..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/AddService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 calculator;
-
-/**
- * The Add Service interface.
- *
- * @version $Rev$ $Date$
- */
-public interface AddService {
-
- double add(double n1, double n2);
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/AddServiceImpl.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/AddServiceImpl.java
deleted file mode 100644
index 61654ea811..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/AddServiceImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 calculator;
-
-import org.osoa.sca.annotations.EagerInit;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * An implementation of the Add service
- *
- * @version $Rev$ $Date$
- */
-@Scope("COMPOSITE")
-@EagerInit
-public class AddServiceImpl implements AddService {
-
- public double add(double n1, double n2) {
- return n1 + n2;
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorClient.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorClient.java
deleted file mode 100644
index 73aa028084..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorClient.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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 calculator;
-
-import org.apache.tuscany.sca.core.spring.context.SCADomainContext;
-
-/**
- * This client program shows how to create an SCA runtime, start it, locate the
- * Calculator service and invoke it.
- *
- * @version $Rev$ $Date$
- */
-public class CalculatorClient {
- public static void main(String[] args) throws Exception {
-
- SCADomainContext context = new SCADomainContext("org/apache/tuscany/core/spring/Calculator.composite");
-
- CalculatorService calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent");
-
- // Calculate
- System.out.println("3 + 2=" + calculatorService.add(3, 2));
- System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
- System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
- System.out.println("3 / 2=" + calculatorService.divide(3, 2));
-
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorService.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorService.java
deleted file mode 100644
index e0cf23dc17..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorService.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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 calculator;
-
-/**
- * The Calculator service interface.
- *
- * @version $Rev$ $Date$
- */
-public interface CalculatorService {
-
- double add(double n1, double n2);
-
- double subtract(double n1, double n2);
-
- double multiply(double n1, double n2);
-
- double divide(double n1, double n2);
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java
deleted file mode 100644
index c1fceb575d..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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 calculator;
-
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * An implementation of the Calculator service.
- *
- * @version $Rev$ $Date$
- */
-@Scope("COMPOSITE")
-public class CalculatorServiceImpl implements CalculatorService {
-
- private AddService addService;
- private SubtractService subtractService;
- private MultiplyService multiplyService;
- private DivideService divideService;
-
- @Reference
- public void setAddService(AddService addService) {
- this.addService = addService;
- }
-
- @Reference
- public void setSubtractService(SubtractService subtractService) {
- this.subtractService = subtractService;
- }
-
- @Reference
- public void setDivideService(DivideService divideService) {
- this.divideService = divideService;
- }
-
- @Reference
- public void setMultiplyService(MultiplyService multiplyService) {
- this.multiplyService = multiplyService;
- }
-
- public double add(double n1, double n2) {
- return addService.add(n1, n2);
- }
-
- public double subtract(double n1, double n2) {
- return subtractService.subtract(n1, n2);
- }
-
- public double multiply(double n1, double n2) {
- return multiplyService.multiply(n1, n2);
- }
-
- public double divide(double n1, double n2) {
- return divideService.divide(n1, n2);
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/DivideService.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/DivideService.java
deleted file mode 100644
index 7c69b10b25..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/DivideService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 calculator;
-
-/**
- * The Divide Service interface.
- *
- * @version $Rev$ $Date$
- */
-public interface DivideService {
-
- double divide(double n1, double n2);
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java
deleted file mode 100644
index e1f35f99b5..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 calculator;
-
-import org.osoa.sca.annotations.Scope;
-
-/**
- * An implementation of the Divide service.
- *
- * @version $Rev$ $Date$
- */
-@Scope("COMPOSITE")
-public class DivideServiceImpl implements DivideService {
-
- public double divide(double n1, double n2) {
- return n1 / n2;
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyService.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyService.java
deleted file mode 100644
index 686542c18e..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 calculator;
-
-/**
- * The Multiply Service interface.
- *
- * @version $Rev$ $Date$
- */
-public interface MultiplyService {
-
- double multiply(double n1, double n2);
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java
deleted file mode 100644
index d621407908..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 calculator;
-
-import org.osoa.sca.annotations.Scope;
-
-/**
- * An implementation of the Multiply service.
- *
- * @version $Rev$ $Date$
- */
-@Scope("COMPOSITE")
-public class MultiplyServiceImpl implements MultiplyService {
-
- public double multiply(double n1, double n2) {
- return n1 * n2;
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java
deleted file mode 100644
index e8e4a6f71b..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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 calculator;
-
-import org.apache.tuscany.sca.core.spring.context.SCADomainContext;
-
-/**
- * This client program shows how to create an SCA runtime, start it, locate the
- * Calculator service and invoke it.
- *
- * @version $Rev$ $Date$
- */
-public class NestedCalculatorClient {
- public static void main(String[] args) throws Exception {
-
- SCADomainContext context = new SCADomainContext(
- "org/apache/tuscany/core/spring/OuterCalculator.composite",
- "org/apache/tuscany/core/spring/InnerCalculator.composite",
- "org/apache/tuscany/core/spring/InnerOperations.composite");
-
- CalculatorService calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent/CalculatorServiceComponent");
-
- // Calculate
- System.out.println("3 + 2=" + calculatorService.add(3, 2));
- System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
- System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
- System.out.println("3 / 2=" + calculatorService.divide(3, 2));
-
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractService.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractService.java
deleted file mode 100644
index 30632688f9..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 calculator;
-
-/**
- * The Subtract Service interface.
- *
- * @version $Rev$ $Date$
- */
-public interface SubtractService {
-
- double subtract(double n1, double n2);
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java b/branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java
deleted file mode 100644
index 4fed0a8c6a..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 calculator;
-
-import org.osoa.sca.annotations.Scope;
-
-/**
- * An implementation of the subtract service.
- *
- * @version $Rev$ $Date$
- */
-@Scope("COMPOSITE")
-public class SubtractServiceImpl implements SubtractService {
-
- public double subtract(double n1, double n2) {
- return n1 - n2;
- }
-
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java b/branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java
deleted file mode 100644
index 44b447cc64..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.core.spring.context.SCADomainContext;
-
-import calculator.CalculatorService;
-
-/**
- * This shows how to test the Calculator service component.
- *
- * @version $Rev$ $Date$
- */
-public class CalculatorTestCase extends TestCase {
-
- private SCADomainContext context;
- private CalculatorService calculatorService;
-
- @Override
- protected void setUp() throws Exception {
- context = new SCADomainContext("org/apache/tuscany/sca/core/spring/Calculator.composite");
-
- calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent");
- }
-
- @Override
- protected void tearDown() throws Exception {
- }
-
- public void testCalculator() throws Exception {
- // Calculate
- assertEquals(calculatorService.add(3, 2), 5.0);
- assertEquals(calculatorService.subtract(3, 2), 1.0);
- assertEquals(calculatorService.multiply(3, 2), 6.0);
- assertEquals(calculatorService.divide(3, 2), 1.5);
-
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java b/branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java
deleted file mode 100644
index baf73ac197..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.core.spring;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.core.spring.context.SCADomainContext;
-
-import calculator.CalculatorService;
-
-/**
- * This shows how to test the Calculator service component.
- *
- * @version $Rev$ $Date$
- */
-public class NestedCalculatorTestCaseFIXME extends TestCase {
-
- private SCADomainContext context;
- private CalculatorService calculatorService;
-
- @Override
- protected void setUp() throws Exception {
- context = new SCADomainContext(
- "org/apache/tuscany/sca/core/spring/OuterCalculator.composite",
- "org/apache/tuscany/sca/core/spring/InnerCalculator.composite",
- "org/apache/tuscany/sca/core/spring/InnerOperations.composite");
-
- calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent/InnerCalculatorServiceComponent");
- }
-
- @Override
- protected void tearDown() throws Exception {
- }
-
- public void testCalculator() throws Exception {
- // Calculate
- assertEquals(calculatorService.add(3, 2), 5.0);
- assertEquals(calculatorService.subtract(3, 2), 1.0);
- assertEquals(calculatorService.multiply(3, 2), 6.0);
- assertEquals(calculatorService.divide(3, 2), 1.5);
-
- }
-}
diff --git a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite b/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite
deleted file mode 100644
index 6d998ba035..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:calc="http://sample.calculator"
- name="calc:TestBeanCalculator">
-
- <service name="CalculatorService" promote="CalculatorServiceComponent">
- <interface.java interface="calculator.CalculatorService"/>
- </service>
-
- <component name="CalculatorServiceComponent">
- <implementation.java class="calculator.CalculatorServiceImpl"/>
- <reference name="addService" target="AddServiceComponent"/>
- <reference name="subtractService" target="SubtractServiceComponent"/>
- <reference name="multiplyService" target="MultiplyServiceComponent"/>
- <reference name="divideService" target="DivideServiceComponent"/>
- </component>
-
- <component name="AddServiceComponent">
- <implementation.java class="calculator.AddServiceImpl"/>
- </component>
-
- <component name="SubtractServiceComponent">
- <implementation.java class="calculator.SubtractServiceImpl"/>
- </component>
-
- <component name="MultiplyServiceComponent">
- <implementation.java class="calculator.MultiplyServiceImpl"/>
- </component>
-
- <component name="DivideServiceComponent">
- <implementation.java class="calculator.DivideServiceImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite b/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite
deleted file mode 100644
index 8b043f2b4f..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:calc="http://calc"
- targetNamespace="http://calc"
- name="InnerCalculator">
-
- <service name="CalculatorService" promote="InnerCalculatorServiceComponent">
- <interface.java interface="calculator.CalculatorService"/>
- </service>
-
- <component name="InnerCalculatorServiceComponent">
- <implementation.java class="calculator.CalculatorServiceImpl"/>
- <reference name="addService"/>
- <reference name="subtractService"/>
- <reference name="multiplyService"/>
- <reference name="divideService"/>
- </component>
-
- <reference name="addService" promote="InnerCalculatorServiceComponent/addService"/>
- <reference name="subtractService" promote="InnerCalculatorServiceComponent/subtractService"/>
- <reference name="multiplyService" promote="InnerCalculatorServiceComponent/multiplyService"/>
- <reference name="divideService" promote="InnerCalculatorServiceComponent/divideService"/>
-
-</composite>
diff --git a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite b/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite
deleted file mode 100644
index d7d1124050..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:calc="http://calc"
- targetNamespace="http://calc"
- name="InnerOperations">
-
- <service name="AddService" promote="AddServiceComponent">
- <interface.java interface="calculator.AddService"/>
- </service>
-
- <service name="SubtractService" promote="SubtractServiceComponent">
- <interface.java interface="calculator.SubtractService"/>
- </service>
-
- <service name="MultiplyService" promote="MultiplyServiceComponent">
- <interface.java interface="calculator.MultiplyService"/>
- </service>
-
- <service name="DivideService" promote="DivideServiceComponent">
- <interface.java interface="calculator.DivideService"/>
- </service>
-
- <component name="AddServiceComponent">
- <implementation.java class="calculator.AddServiceImpl"/>
- </component>
-
- <component name="SubtractServiceComponent">
- <implementation.java class="calculator.SubtractServiceImpl"/>
- </component>
-
- <component name="MultiplyServiceComponent">
- <implementation.java class="calculator.MultiplyServiceImpl"/>
- </component>
-
- <component name="DivideServiceComponent">
- <implementation.java class="calculator.DivideServiceImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite b/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite
deleted file mode 100644
index c2b6cced36..0000000000
--- a/branches/sca-android/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:calc="http://calc"
- targetNamespace="http://calc"
- name="OuterCalculator">
-
- <service name="CalculatorService" promote="CalculatorServiceComponent">
- <interface.java interface="calculator.CalculatorService"/>
- </service>
-
- <component name="CalculatorServiceComponent">
- <implementation.composite name="calc:InnerCalculator"/>
- <reference name="addService" target="OperationsServiceComponent/AddService"/>
- <reference name="subtractService" target="OperationsServiceComponent/SubtractService"/>
- <reference name="multiplyService" target="OperationsServiceComponent/MultiplyService"/>
- <reference name="divideService" target="OperationsServiceComponent/DivideService"/>
- </component>
-
- <component name="OperationsServiceComponent">
- <implementation.composite name="calc:InnerOperations"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/databinding-job/LICENSE b/branches/sca-android/modules/databinding-job/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/databinding-job/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/databinding-job/META-INF/README b/branches/sca-android/modules/databinding-job/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/databinding-job/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/databinding-job/NOTICE b/branches/sca-android/modules/databinding-job/NOTICE
deleted file mode 100644
index 94481d6cfa..0000000000
--- a/branches/sca-android/modules/databinding-job/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2007 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/databinding-job/pom.xml b/branches/sca-android/modules/databinding-job/pom.xml
deleted file mode 100644
index fa16671342..0000000000
--- a/branches/sca-android/modules/databinding-job/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-databinding-job</artifactId>
- <name>Apache Tuscany SCA Data Binding for XML Jobs</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding-axiom</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0-2</version>
- </dependency>
-
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.2.2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- <exclusions>
- <exclusion>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </exclusion>
- </exclusions>
- <version>1.2.5</version>
- </dependency>
-
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.8.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- <version>1.2.5</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.databinding.job</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.databinding.job*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java
deleted file mode 100644
index 98ca6c7429..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-public interface Job<T, E> {
- public T compute(E v);
-
- public boolean eos();
-
- public int getType();
-
- public static int NULL_JOB = 0;
- public static int REGULAR_JOB = 1;
- public static int RESULT_JOB = 2;
- // public boolean reusable();
-}
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java
deleted file mode 100644
index 9752815640..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-import java.io.ByteArrayOutputStream;
-import java.io.Externalizable;
-import java.io.ObjectOutputStream;
-
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.attachments.ByteArrayDataSource;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMText;
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
-import org.apache.tuscany.sca.databinding.impl.XSDDataTypeConverter.Base64Binary;
-import org.apache.tuscany.sca.databinding.axiom.AxiomHelper;
-
-@SuppressWarnings("unchecked")
-public class Job2OMElement extends BaseTransformer<Job, OMElement> implements
- PullTransformer<Job, OMElement> {
-
- @Override
- protected Class getSourceType() {
- return Job.class;
- }
-
- @Override
- protected Class getTargetType() {
- return OMElement.class;
- }
-
- public OMElement transform(Job source, TransformationContext context) {
- OMElement element = null;
-
- try {
- // JobDataSource dataSource = new JobDataSource();
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- ObjectOutputStream out = new ObjectOutputStream(bos);
- out.writeObject(source);
- out.close();
- byte[] bytes = bos.toByteArray();
- // ByteArrayDataSource ds = new ByteArrayDataSource(bytes);
- OMFactory factory = OMAbstractFactory.getOMFactory();
- OMNamespace ns = AxiomHelper.createOMNamespace(factory, new QName(
- "http://job"));
- element = factory.createOMElement("jobreference", ns);
- // OMText data = factory.createOMText(new DataHandler(ds), true);
- // element.addChild(data);
- element.setText(Base64Binary.encode(bytes));
- return element;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java
deleted file mode 100644
index 0acea89ebf..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-import org.apache.tuscany.sca.databinding.impl.BaseDataBinding;
-
-/**
- * DataBinding for Jobs
- */
-public class JobDataBinding extends BaseDataBinding {
-
- public static final String NAME = Job.class.getName();
- public static final String[] ALIASES = new String[] {"job"};
-
- public JobDataBinding() {
- super(NAME, ALIASES, Job.class);
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java
deleted file mode 100644
index 40ee2ff010..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-import java.util.HashMap;
-
-public class JobDataMap implements java.io.Serializable {
- private static final long serialVersionUID = -2602843967597362950L;
- private HashMap<String, Object> data = new HashMap<String, Object>();
-
- public JobDataMap() {
- super();
- }
-
- public <T> void addJobData(String name, T t) {
- data.put(name, t);
- }
-
- public Object getJobDataObject(String name) {
- if (data.containsKey(name)) {
- return data.get(name);
- }
- return null;
- }
-
- public Class<?> getJobDataClass(String name) {
- if (data.containsKey(name)) {
- return data.get(name).getClass();
- }
- return null;
- }
-
- public Class<?>[] getJobDataClasses() {
- int siz = data.keySet().size();
- int i = 0;
- Class<?>[] claz = new Class<?>[siz];
- for (Object e : data.values()) {
- claz[i] = e.getClass();
- ++i;
- }
- return claz;
- }
-
- public Object[] getJobDataObjects() {
- int siz = data.keySet().size();
- Object[] objs = new Object[siz];
- int i = 0;
- for (Object e : data.values()) {
- objs[i] = e.getClass();
- ++i;
- }
- return objs;
- }
-}
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java
deleted file mode 100644
index 623be7e2b5..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-public class JobDataSource implements javax.activation.DataSource {
- private ByteArrayOutputStream os;
-
- public JobDataSource() {
- os = new ByteArrayOutputStream();
- }
-
- public String getContentType() {
- return "application/octet-stream";
- }
-
- public InputStream getInputStream() throws IOException {
- return new ByteArrayInputStream(os.toByteArray());
- }
-
- public String getName() {
- return "jobreference";
- }
-
- public byte[] getBytes() {
- return os.toByteArray();
- }
-
- public OutputStream getOutputStream() throws IOException {
- return os;
- }
-} \ No newline at end of file
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java
deleted file mode 100644
index 8c98fd2e26..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
-
-public class JobExecutionContext implements java.io.Serializable {
- private JobDataMap jobData;
-
- public JobDataMap getJobData() {
- return jobData;
- }
-
- public void storeJSONData(String jsonData) {
- XStream xstream = new XStream(new JsonHierarchicalStreamDriver());
- jobData = (JobDataMap) xstream.fromXML(jsonData);
- }
-
- public String getJSONData() {
- XStream xstream = new XStream(new JsonHierarchicalStreamDriver());
- String jsonData = xstream.toXML(jobData);
- return jsonData;
- }
-
- public void setJobData(JobDataMap jdm) {
- this.jobData = jdm;
- }
-}
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java
deleted file mode 100644
index 057da6b67f..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-import java.io.ByteArrayInputStream;
-import java.io.ObjectInputStream;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
-import org.apache.tuscany.sca.databinding.impl.XSDDataTypeConverter.Base64Binary;
-
-/**
- * Transformer to convert data from an OMElement to Job
- */
-@SuppressWarnings("unchecked")
-public class OMElement2Job extends BaseTransformer<OMElement, Job> implements
- PullTransformer<OMElement, Job> {
-
- public Job transform(OMElement source, TransformationContext context) {
- try {
-
- // OMText binaryNode = (OMText) source.getFirstOMChild();
- // DataHandler actualDH = (DataHandler) binaryNode.getDataHandler();
- // ByteArrayDataSource ds =
- // (ByteArrayDataSource)actualDH.getDataSource();
- String value = (String) source.getText();
- ByteArrayInputStream bis = new ByteArrayInputStream(Base64Binary
- .decode(value));
- ObjectInputStream ois = new ObjectInputStream(bis);
- Object obj = ois.readObject();
- ois.close();
- Job aReference = (Job) obj;
- return aReference;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public Class getSourceType() {
- return OMElement.class;
- }
-
- @Override
- public Class getTargetType() {
- return Job.class;
- }
-
- @Override
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java b/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java
deleted file mode 100644
index 693e0f1af7..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.job;
-
-/**
- * This an abstract class to represent a Job with a Context
- *
- */
-public abstract class RemoteJob<T> implements Job<T, JobExecutionContext>,
- java.io.Serializable {
- protected JobExecutionContext context = new JobExecutionContext();
-
- public abstract T compute(JobExecutionContext v);
-
- public JobExecutionContext getContext() {
- return context;
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
deleted file mode 100644
index 7fb334e529..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# implementation classes for the databindings
-org.apache.tuscany.sca.databinding.job.JobDataBinding;type=org.apache.tuscany.sca.databinding.job.Job,name=job
-
diff --git a/branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
deleted file mode 100644
index f42a526a48..0000000000
--- a/branches/sca-android/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-org.apache.tuscany.sca.databinding.job.Job2OMElement;source=org.apache.tuscany.sca.databinding.job.Job,target=org.apache.axiom.om.OMElement,weight=10
-org.apache.tuscany.sca.databinding.job.OMElement2Job;source=org.apache.axiom.om.OMElement,target=org.apache.tuscany.sca.databinding.job.Job,weight=10
diff --git a/branches/sca-android/modules/databinding-job/src/test/resources/ipo.xml b/branches/sca-android/modules/databinding-job/src/test/resources/ipo.xml
deleted file mode 100644
index df901d183d..0000000000
--- a/branches/sca-android/modules/databinding-job/src/test/resources/ipo.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * 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.
--->
-<ipo:purchaseOrder
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ipo="http://www.example.com/IPO"
- xsi:schemaLocation="http://www.example.com/IPO ipo.xsd"
- orderDate="1999-12-01">
-
- <shipTo exportCode="1" xsi:type="ipo:UKAddress">
- <name>Helen Zoe</name>
- <street>47 Eden Street</street>
- <city>Cambridge</city>
- <postcode>CB1 1JR</postcode>
- </shipTo>
-
- <billTo xsi:type="ipo:USAddress">
- <name>Robert Smith</name>
- <street>8 Oak Avenue</street>
- <city>Old Town</city>
- <state>PA</state>
- <zip>95819</zip>
- </billTo>
-
- <items>
- <item partNum="833-AA">
- <productName>Lapis necklace</productName>
- <quantity>1</quantity>
- <USPrice>99.95</USPrice>
- <ipo:comment>Want this for the holidays</ipo:comment>
- <shipDate>1999-12-05</shipDate>
- </item>
- </items>
-</ipo:purchaseOrder>
-
diff --git a/branches/sca-android/modules/databinding-job/src/test/resources/ipo.xsd b/branches/sca-android/modules/databinding-job/src/test/resources/ipo.xsd
deleted file mode 100644
index cce0cf1019..0000000000
--- a/branches/sca-android/modules/databinding-job/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,155 +0,0 @@
-<!--
- * 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.
--->
-
-<!--
- * 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.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-android/modules/databinding-job/src/test/resources/order.wsdl b/branches/sca-android/modules/databinding-job/src/test/resources/order.wsdl
deleted file mode 100644
index 913d9e4928..0000000000
--- a/branches/sca-android/modules/databinding-job/src/test/resources/order.wsdl
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * 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.
--->
-<definitions name="StockQuote" targetNamespace="http://example.com/order.wsdl" xmlns:tns="http://example.com/order.wsdl"
- xmlns:xsd1="http://example.com/order.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/order.xsd" xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
- <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd"/>
- <element name="checkOrderStatus">
- <complexType>
- <sequence>
- <element name="customerId" type="string" />
- <element name="order" type="ipo:PurchaseOrderType" />
- <element name="flag" type="int" />
- </sequence>
- </complexType>
- </element>
- <element name="checkOrderStatusResponse">
- <complexType>
- <sequence>
- <element name="status" type="string" />
- </sequence>
- </complexType>
- </element>
- <element name="note" type="string" />
- </schema>
- </types>
-
- <message name="CheckOrderStatusInput1">
- <part name="body" element="xsd1:checkOrderStatus" />
- </message>
-
- <message name="CheckOrderStatusOutput1">
- <part name="body" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <message name="CheckOrderStatusInput2">
- <part name="p1" element="xsd1:checkOrderStatus" />
- <part name="p2" element="xsd1:note" />
- </message>
-
- <message name="CheckOrderStatusOutput2">
- <part name="p1" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <portType name="OrderPortType">
- <operation name="checkOrderStatus">
- <input message="tns:CheckOrderStatusInput1" />
- <output message="tns:CheckOrderStatusOutput1" />
- </operation>
- <operation name="checkOrderStatus2">
- <input message="tns:CheckOrderStatusInput2" />
- <output message="tns:CheckOrderStatusOutput2" />
- </operation>
- </portType>
-
-</definitions> \ No newline at end of file
diff --git a/branches/sca-android/modules/databinding-xstream/LICENSE b/branches/sca-android/modules/databinding-xstream/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/databinding-xstream/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/databinding-xstream/META-INF/README b/branches/sca-android/modules/databinding-xstream/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/databinding-xstream/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/databinding-xstream/NOTICE b/branches/sca-android/modules/databinding-xstream/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/databinding-xstream/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/databinding-xstream/pom.xml b/branches/sca-android/modules/databinding-xstream/pom.xml
deleted file mode 100644
index 34faa5c8bb..0000000000
--- a/branches/sca-android/modules/databinding-xstream/pom.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-databinding-xstream</artifactId>
- <name>Apache Tuscany SCA Data Binding for XStream</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0-2</version>
- </dependency>
-
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.3</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- <exclusions>
- <exclusion>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </exclusion>
- </exclusions>
- <version>1.2.5</version>
- </dependency>
-
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.8.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- <version>1.2.5</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.databinding.xstream</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.databinding.xstream*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java
deleted file mode 100644
index 4c57cfe06b..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-/**
- * Wrapper for XObject
- * @version $Rev$ $Date$
- */
-public interface MetaObject {
- void setName(String name);
-
- String getName();
-
- Class<?> getType();
-
- String getID();
-
- XObject getInstance();
- //byte[] getByteCode();
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java
deleted file mode 100644
index d223a4db23..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-/**
- * Implementation of a wrapper for XObject.
- *
- * @version $Rev$ $Date$
- */
-public class MetaObjectImpl implements MetaObject {
- private String obID;
- private String name;
- private XObject obInstance;
-
- //private byte[] bytecode = null;
-
- public MetaObjectImpl() {
- this.obID = Utils.uniqueID();
- }
-
- public MetaObjectImpl(XObject x) {
- //this.name = path;
- this.obID = Utils.uniqueID();
- this.obInstance = x;
-
- try {
- initMetaOb(this.obInstance.getClass());
-
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- private void initMetaOb(Class<?> class1) throws FileNotFoundException, IOException {
- /*
- File file = new File(cname);
- DataInputStream cstream = new DataInputStream(new FileInputStream(file));
- bytecode = new byte[(int)file.length()];
- cstream.readFully(bytecode);
- */
- name = class1.getName();
-
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getID() {
- return obID;
- }
-
- public Class<?> getType() {
-
- return this.obInstance.getClass();
- }
-
- public XObject getInstance() {
- return this.obInstance;
- }
- /*
- * TODO Add bytecode with Serialization
- public byte[] getByteCode() {
- return bytecode;
- }
- */
-
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java
deleted file mode 100644
index 2b7fa9d506..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.xml.DomReader;
-
-/**
- * DOM Node --> XStream transformer
- *
- * @version $Rev$ $Date$
- */
-public class Node2XObject extends BaseTransformer<Node, XObject> implements PullTransformer<Node, XObject> {
-
- public XObject transform(Node source, TransformationContext context) {
- try {
- DomReader in = null;
- if (source instanceof Document) {
- in = new DomReader((Document)source);
- } else if (source instanceof Element) {
- in = new DomReader((Element)source);
- }
- XStream xs = new XStream();
- return (XObject)xs.unmarshal(in);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public Class<Node> getSourceType() {
- return Node.class;
- }
-
- @Override
- public Class<XObject> getTargetType() {
- return XObject.class;
- }
-
- @Override
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java
deleted file mode 100644
index a465e92e65..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-import java.io.StringWriter;
-
-import javax.xml.stream.XMLStreamException;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * Job DataObject --> AXIOM OMElement transformer
- *
- * @version $Rev$ $Date$
- */
-public class OMElement2XObject extends BaseTransformer<OMElement, XObject> implements
- PullTransformer<OMElement, XObject> {
-
- public XObject transform(OMElement source, TransformationContext context) {
-
- XStream xs = new XStream();
- xs.alias("xobject", MetaObjectImpl.class);
- MetaObjectImpl mo;
- try {
- java.io.StringWriter writer = new StringWriter();
- source.serialize(writer);
- String w = writer.toString();
- // FIXME: a better way to get eliminate param0
- w = w.replaceAll("param0", "xobject");
- w = w.replaceAll("xmlns=\"\"", "");
- mo = (MetaObjectImpl)xs.fromXML(w.trim());
- return mo.getInstance();
- } catch (XMLStreamException e) {
-
- e.printStackTrace();
- }
- return null;
- }
-
- @Override
- public Class<OMElement> getSourceType() {
- return OMElement.class;
- }
-
- @Override
- public Class<XObject> getTargetType() {
- return XObject.class;
- }
-
- @Override
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java
deleted file mode 100644
index d819975910..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-import java.io.IOException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-
-/**
- * Utility methods.
- *
- * @version $Rev$ $Date$
- */
-public class Utils {
- public static String toBase64(byte[] array) {
- String code = null;
- code = new sun.misc.BASE64Encoder().encode(array);
- return code;
- }
-
- public static byte[] fromBase64(String bytecode) {
- byte[] dec = null;
- try {
- dec = new sun.misc.BASE64Decoder().decodeBuffer(bytecode);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return dec;
- }
-
- public static String uniqueID() {
- try {
- //Initialize SecureRandom
- //This is a lengthy operation, to be done only upon
- //initialization of the application
- SecureRandom prng = SecureRandom.getInstance("SHA1PRNG");
-
- //generate a random number
- String randomNum = Integer.toString(prng.nextInt());
-
- //get its digest
- MessageDigest sha = MessageDigest.getInstance("SHA-1");
- byte[] result = sha.digest(randomNum.getBytes());
- return hexEncode(result);
- } catch (NoSuchAlgorithmException ex) {
- ex.printStackTrace();
- }
- return null;
- }
-
- private static String hexEncode(byte[] aInput) {
- StringBuffer result = new StringBuffer();
- char[] digits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
- for (int idx = 0; idx < aInput.length; ++idx) {
- byte b = aInput[idx];
- result.append(digits[(b & 0xf0) >> 4]);
- result.append(digits[b & 0x0f]);
- }
- return result.toString();
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java
deleted file mode 100644
index 21112efcf5..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-/**
- * Marker interface for XStream Serializable objects
- *
- * @version $Rev$ $Date$
- */
-// FIXME: Why do we require a marker interface?
-public interface XObject {
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java
deleted file mode 100644
index 98e0e69f9b..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
-import org.apache.tuscany.sca.databinding.impl.DOMHelper;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.xml.DomWriter;
-
-/**
- * XObject --> DOM Node transformer
- *
- * @version $Rev$ $Date$
- */
-public class XObject2Node extends BaseTransformer<XObject, Node> implements PullTransformer<XObject, Node> {
-
- public Node transform(XObject source, TransformationContext context) {
- try {
- MetaObject mj = new MetaObjectImpl(source);
- Document root = DOMHelper.newDocument();
- DomWriter out = new DomWriter(DOMHelper.newDocument());
- XStream xs = new XStream();
- xs.alias("xobject", mj.getClass());
- xs.marshal(source, out);
- DOMHelper.adjustElementName(context, root.getDocumentElement());
- return root;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- @Override
- public Class<XObject> getSourceType() {
- return XObject.class;
- }
-
- @Override
- public Class<Node> getTargetType() {
- return Node.class;
- }
-
- @Override
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java
deleted file mode 100644
index ff4305491a..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.tuscany.sca.databinding.PullTransformer;
-import org.apache.tuscany.sca.databinding.TransformationContext;
-import org.apache.tuscany.sca.databinding.TransformationException;
-import org.apache.tuscany.sca.databinding.impl.BaseTransformer;
-import org.apache.tuscany.sca.interfacedef.DataType;
-import org.apache.tuscany.sca.interfacedef.util.XMLType;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * XObject --> AXIOM OMElement transformer
- *
- * @version $Rev$ $Date$
- */
-public class XObject2OMElement extends BaseTransformer<XObject, OMElement> implements
- PullTransformer<XObject, OMElement> {
-
- public OMElement transform(XObject source, TransformationContext context) {
- MetaObject mj = new MetaObjectImpl(source);
- OMElement element = null;
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- XStream xs = new XStream();
- xs.alias("xobject", mj.getClass());
- xs.toXML(mj, out);
- /* TODO: Maybe a base64 conversion...? or not?
- * ie. new ByteArrayInputStream(Utils.toBase64(out.toByteArray()).getBytes())
- */
- try {
- // what's better this one:
- StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(out.toByteArray()));
- // or this one:
- // StaAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(Utils.toBase64(out.toByteArray()).getBytes()))
- element = builder.getDocumentElement();
- adjustElementName(context, element);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- return element;
-
- }
-
- private static void adjustElementName(TransformationContext context, OMElement element) {
- if (context != null) {
- DataType dataType = context.getTargetDataType();
- Object logical = dataType == null ? null : dataType.getLogical();
- if (!(logical instanceof XMLType)) {
- return;
- }
- XMLType xmlType = (XMLType)logical;
- if (xmlType.isElement() && !xmlType.getElementName().equals(element.getQName())) {
- // FIXME:: Throw exception or switch to the new Element?
- OMFactory factory = OMAbstractFactory.getOMFactory();
- QName name = xmlType.getElementName();
- OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
- element.setNamespace(namespace);
- element.setLocalName(name.getLocalPart());
- }
- }
- }
-
- @Override
- public Class<XObject> getSourceType() {
- return XObject.class;
- }
-
- @Override
- public Class<OMElement> getTargetType() {
- return OMElement.class;
- }
-
- @Override
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java b/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java
deleted file mode 100644
index 6e5ac29423..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.databinding.xstream;
-
-import org.apache.tuscany.sca.databinding.impl.BaseDataBinding;
-
-/**
- * DataBinding for Jobs
- *
- * @version $Rev$ $Date$
- */
-public class XObjectDataBinding extends BaseDataBinding {
-
- public static final String NAME = XObject.class.getName();
- public static final String[] ALIASES = new String[] {"xobject"};
-
- public XObjectDataBinding() {
- super(NAME, ALIASES, XObject.class);
- }
-
-}
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
deleted file mode 100644
index f501ef2dc6..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# implementation classes for the databindings
-org.apache.tuscany.sca.databinding.xstream.XObjectDataBinding;type=org.apache.tuscany.sca.databinding.xstream.XObject,name=xobject
-
diff --git a/branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
deleted file mode 100644
index a733ad7b7d..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-org.apache.tuscany.sca.databinding.xstream.XObject2OMElement;source=org.apache.tuscany.sca.databinding.xstream.XObject,target=org.apache.axiom.om.OMElement,weight=10
-org.apache.tuscany.sca.databinding.xstream.OMElement2XObject;source=org.apache.axiom.om.OMElement,target=org.apache.tuscany.sca.databinding.xstream.XObject,weight=10
diff --git a/branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xml b/branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xml
deleted file mode 100644
index 1699538d62..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * 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.
--->
-<ipo:purchaseOrder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ipo="http://www.example.com/IPO"
- xsi:schemaLocation="http://www.example.com/IPO ipo.xsd" orderDate="1999-12-01">
-
- <shipTo exportCode="1" xsi:type="ipo:UKAddress">
- <name>Helen Zoe</name>
- <street>47 Eden Street</street>
- <city>Cambridge</city>
- <postcode>CB1 1JR</postcode>
- </shipTo>
-
- <billTo xsi:type="ipo:USAddress">
- <name>Robert Smith</name>
- <street>8 Oak Avenue</street>
- <city>Old Town</city>
- <state>PA</state>
- <zip>95819</zip>
- </billTo>
-
- <items>
- <item partNum="833-AA">
- <productName>Lapis necklace</productName>
- <quantity>1</quantity>
- <USPrice>99.95</USPrice>
- <ipo:comment>Want this for the holidays</ipo:comment>
- <shipDate>1999-12-05</shipDate>
- </item>
- </items>
-</ipo:purchaseOrder>
-
diff --git a/branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xsd b/branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xsd
deleted file mode 100644
index aac7ded180..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,132 +0,0 @@
-<!--
- * 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.
--->
-
-<schema targetNamespace="http://www.example.com/IPO" xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date" minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU" use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger" fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-android/modules/databinding-xstream/src/test/resources/order.wsdl b/branches/sca-android/modules/databinding-xstream/src/test/resources/order.wsdl
deleted file mode 100644
index 65da5b602a..0000000000
--- a/branches/sca-android/modules/databinding-xstream/src/test/resources/order.wsdl
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * 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.
--->
-<definitions name="StockQuote" targetNamespace="http://example.com/order.wsdl" xmlns:tns="http://example.com/order.wsdl"
- xmlns:xsd1="http://example.com/order.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/order.xsd" xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
- <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd" />
- <element name="checkOrderStatus">
- <complexType>
- <sequence>
- <element name="customerId" type="string" />
- <element name="order" type="ipo:PurchaseOrderType" />
- <element name="flag" type="int" />
- </sequence>
- </complexType>
- </element>
- <element name="checkOrderStatusResponse">
- <complexType>
- <sequence>
- <element name="status" type="string" />
- </sequence>
- </complexType>
- </element>
- <element name="note" type="string" />
- </schema>
- </types>
-
- <message name="CheckOrderStatusInput1">
- <part name="body" element="xsd1:checkOrderStatus" />
- </message>
-
- <message name="CheckOrderStatusOutput1">
- <part name="body" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <message name="CheckOrderStatusInput2">
- <part name="p1" element="xsd1:checkOrderStatus" />
- <part name="p2" element="xsd1:note" />
- </message>
-
- <message name="CheckOrderStatusOutput2">
- <part name="p1" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <portType name="OrderPortType">
- <operation name="checkOrderStatus">
- <input message="tns:CheckOrderStatusInput1" />
- <output message="tns:CheckOrderStatusOutput1" />
- </operation>
- <operation name="checkOrderStatus2">
- <input message="tns:CheckOrderStatusInput2" />
- <output message="tns:CheckOrderStatusOutput2" />
- </operation>
- </portType>
-
-</definitions> \ No newline at end of file
diff --git a/branches/sca-android/modules/extensibility-osgi/LICENSE b/branches/sca-android/modules/extensibility-osgi/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/extensibility-osgi/META-INF/README b/branches/sca-android/modules/extensibility-osgi/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/extensibility-osgi/NOTICE b/branches/sca-android/modules/extensibility-osgi/NOTICE
deleted file mode 100644
index 65c52d01c7..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/extensibility-osgi/pom.xml b/branches/sca-android/modules/extensibility-osgi/pom.xml
deleted file mode 100644
index 7667ca918f..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/pom.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-extensibility-osgi</artifactId>
- <name>Apache Tuscany SCA Extensibility for OSGi</name>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extensibility</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>1.0.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.framework</artifactId>
- <version>1.0.4</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.extensibility.osgi</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Bundle-Activator>org.apache.tuscany.sca.extensibility.osgi.OSGiServiceDiscoveryActivator</Bundle-Activator>
- <!-- This bundle will be the gateway to all exported packages -->
- <DynamicImport-Package>*</DynamicImport-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java b/branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java
deleted file mode 100644
index a536684b2e..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.extensibility.osgi;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.security.SecureClassLoader;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscoverer;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * The ServiceDiscoverer that find META-INF/services/... in installed bundles
- */
-public class OSGiServiceDiscoverer implements ServiceDiscoverer {
- private static final Logger logger = Logger.getLogger(OSGiServiceDiscoverer.class.getName());
- private BundleContext context;
- private ClassLoader classLoader;
-
- public OSGiServiceDiscoverer(BundleContext context) {
- this.context = context;
- this.classLoader = new ClassLoaderImpl();
- }
-
- /**
- * This class loader provides resource access to META-INF/services/... which is used by
- * many frameworks. OSGi Import-Package and DynmaicImport-Package headers do not support
- * split packages. Another option is to use Require-Bundle header. We can collect the list
- * of bundles and add them as required bundles to a special gateway bundle.
- */
- public class ClassLoaderImpl extends SecureClassLoader {
-
- public ClassLoaderImpl() {
- super(OSGiServiceDiscoverer.class.getClassLoader());
- }
-
- /**
- * Open a back-door to expose the META-INF/services resources
- */
- @Override
- protected URL findResource(String name) {
- int index = name.lastIndexOf('/');
- if (index == -1) {
- return null;
- }
- String path = name.substring(0, index);
- if (path.startsWith("/")) {
- path = path.substring(1);
- }
-
- if (!path.startsWith("META-INF/services")) {
- return null;
- }
-
- for (Bundle bundle : context.getBundles()) {
- URL url = bundle.getEntry(name);
- if (url != null) {
- return url;
- }
- }
-
- return null;
- }
-
- /**
- * Open a back-door to expose the META-INF/services resources
- */
- @Override
- protected Enumeration<URL> findResources(String name) throws IOException {
- int index = name.lastIndexOf('/');
- if (index == -1) {
- return null;
- }
- String path = name.substring(0, index);
- String file = name.substring(index + 1);
- if (path.startsWith("/")) {
- path = path.substring(1);
- }
-
- if (!path.startsWith("META-INF/services")) {
- return null;
- }
-
- Set<URL> urlSet = new HashSet<URL>();
-
- for (Bundle bundle : context.getBundles()) {
- Enumeration<URL> urls = bundle.findEntries(path, file, false);
- if (urls != null) {
- urlSet.addAll(Collections.list(urls));
- }
- }
- return Collections.enumeration(urlSet);
- }
-
- }
-
- public static class ServiceDeclarationImpl implements ServiceDeclaration {
- private Bundle bundle;
- private URL url;
- private String className;
- private Class<?> javaClass;
- private Map<String, String> attributes;
-
- public ServiceDeclarationImpl(Bundle bundle, URL url, String className, Map<String, String> attributes) {
- super();
- this.bundle = bundle;
- this.url = url;
- this.className = className;
- this.attributes = attributes;
- }
-
- public Map<String, String> getAttributes() {
- return attributes;
- }
-
- public String getClassName() {
- return className;
- }
-
- public Class<?> loadClass() throws ClassNotFoundException {
- if (className == null) {
- return null;
- }
- if (javaClass == null) {
- javaClass = loadClass(className);
- }
- return javaClass;
- }
-
- public Class<?> loadClass(String className) throws ClassNotFoundException {
- try {
- return bundle.loadClass(className);
- } catch (ClassNotFoundException e) {
- logger.severe(e.getMessage() + ": " + OSGiServiceDiscoverer.toString(bundle));
- throw e;
- }
- }
-
- public URL getLocation() {
- return url;
- }
-
- public URL getResource(final String name) {
- return AccessController.doPrivileged(new PrivilegedAction<URL>() {
- public URL run() {
- return bundle.getResource(name);
- }
- });
- }
-
- @Override
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("Bundle: ").append(OSGiServiceDiscoverer.toString(bundle));
- sb.append(" Resource: ").append(url);
- sb.append(" Attributes: ").append(attributes);
- return sb.toString();
- }
-
- }
-
- public static String toString(Bundle b) {
- StringBuffer sb = new StringBuffer();
- sb.append(b.getBundleId()).append(" ").append(b.getSymbolicName());
- int s = b.getState();
- if ((s & Bundle.UNINSTALLED) != 0) {
- sb.append(" UNINSTALLED");
- }
- if ((s & Bundle.INSTALLED) != 0) {
- sb.append(" INSTALLED");
- }
- if ((s & Bundle.RESOLVED) != 0) {
- sb.append(" RESOLVED");
- }
- if ((s & Bundle.STARTING) != 0) {
- sb.append(" STARTING");
- }
- if ((s & Bundle.STOPPING) != 0) {
- sb.append(" STOPPING");
- }
- if ((s & Bundle.ACTIVE) != 0) {
- sb.append(" ACTIVE");
- }
- return sb.toString();
-
- }
-
- /**
- * Parse a service declaration in the form class;attr=value,attr=value and
- * return a map of attributes
- *
- * @param declaration
- * @return a map of attributes
- */
- protected static Map<String, String> parseServiceDeclaration(String declaration) {
- Map<String, String> attributes = new HashMap<String, String>();
- int index = declaration.indexOf(';');
- if (index != -1) {
- attributes.put("class", declaration.substring(0, index).trim());
- declaration = declaration.substring(index);
- } else {
- int j = declaration.indexOf('=');
- if (j == -1) {
- attributes.put("class", declaration.trim());
- return attributes;
- } else {
- declaration = ";" + declaration;
- }
- }
- StringTokenizer tokens = new StringTokenizer(declaration);
- for (; tokens.hasMoreTokens();) {
- String key = tokens.nextToken("=").substring(1).trim();
- if (key == null)
- break;
- String value = tokens.nextToken(",").substring(1).trim();
- if (value == null)
- break;
- attributes.put(key, value);
- }
- return attributes;
- }
-
- public BundleContext getBundleContext() {
- return context;
- }
-
- /**
- * This class loader can be set as the thread context class loader for non-OSGi code
- * @return
- */
- public ClassLoader getContextClassLoader() {
- return classLoader;
- }
-
- @SuppressWarnings("unchecked")
- public Set<ServiceDeclaration> discover(String serviceName, boolean firstOnly) {
- boolean debug = logger.isLoggable(Level.FINE);
- Set<ServiceDeclaration> descriptors = new HashSet<ServiceDeclaration>();
-
- serviceName = "META-INF/services/" + serviceName;
-
- // int index = serviceName.lastIndexOf('/');
- // String path = serviceName.substring(0, index);
- // String file = serviceName.substring(index + 1);
-
- // long start = System.currentTimeMillis();
- try {
- for (Bundle bundle : context.getBundles()) {
- // Enumeration<URL> urls = bundle.findEntries(path, file, false); // This is expensive
- final URL url = bundle.getEntry(serviceName);
- if (url == null) {
- continue;
- }
-
- if (debug) {
- logger.fine("Reading service provider file: " + url.toExternalForm());
- }
- try {
- // Allow privileged access to open URL stream. Add FilePermission to added to security
- // policy file.
- InputStream is;
- try {
- is = AccessController.doPrivileged(new PrivilegedExceptionAction<InputStream>() {
- public InputStream run() throws IOException {
- return url.openStream();
- }
- });
- } catch (PrivilegedActionException e) {
- throw (IOException)e.getException();
- }
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(is));
- int count = 0;
- while (true) {
- String line = reader.readLine();
- if (line == null)
- break;
- line = line.trim();
- if (!line.startsWith("#") && !"".equals(line)) {
- String reg = line.trim();
- if (debug) {
- logger.fine("Registering service provider: " + reg);
- }
-
- Map<String, String> attributes = parseServiceDeclaration(reg);
- String className = attributes.get("class");
- if (className == null) {
- // Add a unique class name to prevent equals() from returning true
- className = "_class_" + count;
- count++;
- }
- ServiceDeclarationImpl descriptor =
- new ServiceDeclarationImpl(bundle, url, className, attributes);
- descriptors.add(descriptor);
- if (firstOnly) {
- return descriptors;
- }
- }
- }
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {
- // Ignore
- }
- }
- }
- } catch (IOException e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
- }
- } finally {
-// long end = System.currentTimeMillis();
-// if (true) {
-// logger.info("Duration: " + (end - start) + " ms");
-// }
- }
- return descriptors;
-
- }
-
-}
diff --git a/branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java b/branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java
deleted file mode 100644
index 208ef1a74f..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.extensibility.osgi;
-
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * The Bundle Activator that creates the OSGi-based service discoverer
- */
-public class OSGiServiceDiscoveryActivator implements BundleActivator {
- private static BundleContext bundleContext;
-
- public void start(BundleContext context) throws Exception {
- if (bundleContext == null) {
- bundleContext = context;
- OSGiServiceDiscoverer discoverer = new OSGiServiceDiscoverer(bundleContext);
- ServiceDiscovery.getInstance().setServiceDiscoverer(discoverer);
- }
- }
-
- public void stop(BundleContext context) throws Exception {
- bundleContext = null;
- // ServiceDiscovery.setServiceDiscoverer(discoverer);
- }
-
-}
diff --git a/branches/sca-android/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java b/branches/sca-android/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java
deleted file mode 100644
index aba7e62637..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.extensibility.osgi;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Assert;
-
-import org.apache.felix.framework.Felix;
-import org.apache.felix.framework.cache.BundleCache;
-import org.apache.felix.framework.util.FelixConstants;
-import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-
-/**
- *
- */
-public class OSGiServiceDiscovererTestCase {
- private static Felix felix;
- private static OSGiServiceDiscoverer discoverer;
- private static Bundle testBundle;
-
- /**
- * @throws java.lang.Exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- // Create a configuration property map.
- Map<String, String> configMap = new HashMap<String, String>();
- // Configure the Felix instance to be embedded.
- configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true");
- // Add core OSGi packages to be exported from the class path
- // via the system bundle.
- configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES,
- "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");
- // Explicitly specify the directory to use for caching bundles.
- configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "target/.felix");
- List<BundleActivator> list = new ArrayList<BundleActivator>();
-
- // Now create an instance of the framework with
- // our configuration properties and activator.
- felix = new Felix(configMap, list);
-
- // Now start Felix instance.
- felix.start();
- BundleContext context = felix.getBundleContext();
- InputStream is = OSGiServiceDiscovererTestCase.class.getResourceAsStream("/test-bundle.jar");
- testBundle = context.installBundle("test-bundle", is);
- is.close();
- discoverer = new OSGiServiceDiscoverer(context);
- }
-
- /**
- * @throws java.lang.Exception
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- if (felix != null) {
- // Uninstall the bundle to clean up the cache
- testBundle.uninstall();
- felix.stop();
- }
- }
-
- @Test
- public void testDiscovery() {
- Set<ServiceDeclaration> descriptors =
- discoverer.discover("test.TestService", false);
- Assert.assertEquals(1, descriptors.size());
- descriptors = discoverer.discover("notthere", false);
- Assert.assertEquals(0, descriptors.size());
- }
-
- @Test
- public void testDiscoveryFirst() {
- Set<ServiceDeclaration> descriptors =
- discoverer.discover("test.TestService", true);
- Assert.assertEquals(1, descriptors.size());
- descriptors = discoverer.discover("notthere", true);
- Assert.assertEquals(0, descriptors.size());
- }
-
- @Test
- public void testClassLoader () throws IOException {
- Enumeration<URL> resources = discoverer.getContextClassLoader().getResources("META-INF/services/test.TestService");
- List<URL> list = Collections.list(resources);
- Assert.assertEquals(1, list.size());
- }
-}
diff --git a/branches/sca-android/modules/extensibility-osgi/src/test/resources/test-bundle.jar b/branches/sca-android/modules/extensibility-osgi/src/test/resources/test-bundle.jar
deleted file mode 100644
index afee051f61..0000000000
--- a/branches/sca-android/modules/extensibility-osgi/src/test/resources/test-bundle.jar
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/host-osgi/LICENSE b/branches/sca-android/modules/host-osgi/LICENSE
deleted file mode 100644
index 4b5ab74408..0000000000
--- a/branches/sca-android/modules/host-osgi/LICENSE
+++ /dev/null
@@ -1,251 +0,0 @@
-
- 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, service 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.
-
-===============================================================================================================
-
-Apache Tuscany SCA for Java Subcomponents
-=========================================:
-
-The Tuscany SCA for Java release includes a number of subcomponents with
-separate copyright notices and license terms. Your use of the source
-code for the these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-=================================================================================================================
-
-This module implementation-script temporarily includes one file under the following BSD license:
-
- Copyright (c) 2006, Sun Microsystems, Inc.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- - Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
- - Neither the name of the Sun Microsystems, Inc. nor the names of
- contributors may be used to endorse or promote products derived from this
- software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGE.
-
-=================================================================================================================
diff --git a/branches/sca-android/modules/host-osgi/META-INF/README b/branches/sca-android/modules/host-osgi/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/host-osgi/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/host-osgi/NOTICE b/branches/sca-android/modules/host-osgi/NOTICE
deleted file mode 100644
index a3c65715e5..0000000000
--- a/branches/sca-android/modules/host-osgi/NOTICE
+++ /dev/null
@@ -1,17 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Unless otherwise indicated, all distribution made available by the Apache Software Foundation
-is provided to you under the terms and conditions of the Apache License Version 2.0 ("AL").
-A copy of the AL is provided with this distribution as the LICENSE file present in the
-root directory, and is also available at http://www.apache.org/licenses/.
-
-This product also includes software under the BSD license
-(see the LICENSE file contained in this distribution), with
-the following copyright:
-
-Copyright (c) 2006, Sun Microsystems, Inc.
-All rights reserved.
diff --git a/branches/sca-android/modules/host-osgi/pom.xml b/branches/sca-android/modules/host-osgi/pom.xml
deleted file mode 100644
index f68a96c57c..0000000000
--- a/branches/sca-android/modules/host-osgi/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-host-osgi</artifactId>
- <name>Apache Tuscany Host for OSGi</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.host.osgi</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.host.osgi*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-android/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
deleted file mode 100644
index 8bab603184..0000000000
--- a/branches/sca-android/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.host.osgi.XxxxModuleActivator
diff --git a/branches/sca-android/modules/implementation-jee/LICENSE b/branches/sca-android/modules/implementation-jee/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/implementation-jee/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/implementation-jee/META-INF/README b/branches/sca-android/modules/implementation-jee/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/implementation-jee/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/implementation-jee/NOTICE b/branches/sca-android/modules/implementation-jee/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/implementation-jee/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/implementation-jee/pom.xml b/branches/sca-android/modules/implementation-jee/pom.xml
deleted file mode 100644
index 9ea51f936f..0000000000
--- a/branches/sca-android/modules/implementation-jee/pom.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<!-- $Rev$ $Date$ -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-implementation-jee</artifactId>
- <name>Apache Tuscany SCA JEE Implementation Model</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.jee</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.implementation.jee*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java b/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java
deleted file mode 100644
index 90b71223b4..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.jee;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-
-/**
- * The model representing a JEE implementation in an SCA assembly model.
- *
- * @version $Rev$ $Date$
- */
-public interface JEEImplementation extends Implementation {
-
- /**
- * Returns the archive.
- *
- * @return the archive
- */
- String getArchive();
-
- /**
- * Sets the archive.
- *
- * @param archive
- */
- void setArchive(String archive);
-}
diff --git a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java b/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java
deleted file mode 100644
index 331c53a596..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.jee;
-
-/**
- * Factory for the JEE implementation model.
- *
- * @version $Rev$ $Date$
- */
-public interface JEEImplementationFactory {
-
- /**
- * Creates a new JEE implementation.
- *
- * @return a new JEE implementation
- */
- JEEImplementation createJEEImplementation();
-
-}
diff --git a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java b/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java
deleted file mode 100644
index b82571dc58..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.jee.impl;
-
-import org.apache.tuscany.sca.implementation.jee.JEEImplementation;
-import org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory;
-
-/**
- * Factory for the JEE implementation model.
- *
- * @version $Rev$ $Date$
- */
-public class JEEImplementationFactoryImpl implements JEEImplementationFactory {
-
- public JEEImplementationFactoryImpl() {
- }
-
- public JEEImplementation createJEEImplementation() {
- return new JEEImplementationImpl();
- }
-}
diff --git a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java b/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java
deleted file mode 100644
index 8492befda5..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.jee.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.implementation.jee.JEEImplementation;
-
-/**
- * The model representing a JEE implementation in an SCA assembly model.
- *
- * @version $Rev$ $Date$
- */
-class JEEImplementationImpl implements JEEImplementation {
-
- private List<Property> properties = new ArrayList<Property>();
- private List<Service> services = new ArrayList<Service>();
- private List<Reference> references = new ArrayList<Reference>();
- private String uri;
- private boolean unresolved;
-
- private String archive;
-
- /**
- * Constructs a new JEE implementation.
- */
- JEEImplementationImpl() {
- }
-
- public ConstrainingType getConstrainingType() {
- // The JEE implementation does not support constrainingTypes
- return null;
- }
-
- public List<Property> getProperties() {
- return properties;
- }
-
- public List<Service> getServices() {
- return services;
- }
-
- public List<Reference> getReferences() {
- return references;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // The JEE implementation does not support constrainingTypes
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-
- public String getArchive() {
- return archive;
- }
-
- public void setArchive(String archive) {
- this.archive = archive;
- }
-}
diff --git a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java b/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java
deleted file mode 100644
index 984cd1a5fa..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.jee.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.implementation.jee.JEEImplementation;
-import org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-/**
- * Implements a StAX artifact processor for JEE implementations.
- *
- * @version $Rev$ $Date$
- */
-public class JEEImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<JEEImplementation> {
- private static final QName IMPLEMENTATION_JEE = new QName(Constants.SCA10_NS, "implementation.jee");
-
- private AssemblyFactory assemblyFactory;
- private JEEImplementationFactory implementationFactory;
- private Monitor monitor;
-
- public JEEImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
- this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- this.implementationFactory = modelFactories.getFactory(JEEImplementationFactory.class);
- this.monitor = monitor;
- }
-
- public QName getArtifactType() {
- // Returns the QName of the XML element processed by this processor
- return IMPLEMENTATION_JEE;
- }
-
- public Class<JEEImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return JEEImplementation.class;
- }
-
- public JEEImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
- // Read an <implementation.jee> element
- JEEImplementation implementation = implementationFactory.createJEEImplementation();
- implementation.setUnresolved(true);
-
- // Read the archive attribute
- String archive = getString(reader, "archive");
- if (archive != null) {
- implementation.setArchive(archive);
-
- // Set the URI of the component type
- implementation.setURI(archive);
- }
-
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_JEE.equals(reader.getName())) {
- break;
- }
- }
-
- return implementation;
- }
-
- public void resolve(JEEImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
- // Resolve the component type
- String uri = implementation.getURI();
- if (uri != null) {
- ComponentType componentType = assemblyFactory.createComponentType();
- componentType.setURI(uri + ".componentType");
- componentType = resolver.resolveModel(ComponentType.class, componentType);
- if (!componentType.isUnresolved()) {
- // Initialize the implementation's services, references and properties
- implementation.getServices().addAll(componentType.getServices());
- implementation.getReferences().addAll(componentType.getReferences());
- implementation.getProperties().addAll(componentType.getProperties());
- }
- }
- implementation.setUnresolved(false);
- }
-
- public void write(JEEImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- // Write <implementation.jee>
- writeStart(writer, IMPLEMENTATION_JEE.getNamespaceURI(), IMPLEMENTATION_JEE.getLocalPart(),
- new XAttr("archive", implementation.getArchive()));
-
- writeEnd(writer);
- }
-}
diff --git a/branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 06b5f2198b..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-
-# $Rev$ $Date$
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.implementation.jee.xml.JEEImplementationProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#implementation.jee,model=org.apache.tuscany.sca.implementation.jee.JEEImplementation,factory=org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory
diff --git a/branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory b/branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory
deleted file mode 100644
index dcdfb7dfb5..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-
-# $Rev$ $Date$
-
-# Implementation class for model factory
-org.apache.tuscany.sca.implementation.jee.impl.JEEImplementationFactoryImpl
diff --git a/branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java b/branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java
deleted file mode 100644
index 221d077a33..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.jee.xml;
-
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.implementation.jee.JEEImplementation;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
-
-/**
- * Test reading JEE implementations.
- *
- * @version $Rev$ $Date$
- */
-public class ReadTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
- private CompositeBuilder compositeBuilder;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
-
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class);
- IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
- compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null);
- }
-
- public void testReadComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestJEE.composite");
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- Composite composite = (Composite) staxProcessor.read(reader);
- assertNotNull(composite);
-
- compositeBuilder.build(composite);
-
- assertTrue(((JEEImplementation) composite.getComponents().get(0).getImplementation()).getArchive().equals("myarchive.ear"));
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java b/branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java
deleted file mode 100644
index 78849cd22f..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.jee.xml;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-
-/**
- * Test reading/write JEE implementations.
- *
- * @version $Rev$ $Date$
- */
-public class WriteTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private XMLOutputFactory outputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- outputFactory = XMLOutputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
- }
-
- public void testReadWriteComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestJEE.composite");
- Composite composite = (Composite) staxProcessor.read(inputFactory.createXMLStreamReader(is));
- assertNotNull(composite);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
-
- assertTrue(bos.toString().contains("archive=\"myarchive.ear\""));
-
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite b/branches/sca-android/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite
deleted file mode 100644
index ac85b888c4..0000000000
--- a/branches/sca-android/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<!-- $Rev$ $Date$ -->
-
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample/jee"
- xmlns:sc="http://sample/composite"
- name="TestJEE">
-
- <component name="TestJEE">
- <implementation.jee archive="myarchive.ear"/>
- </component>
-</composite>
diff --git a/branches/sca-android/modules/implementation-notification/LICENSE b/branches/sca-android/modules/implementation-notification/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/implementation-notification/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/implementation-notification/META-INF/README b/branches/sca-android/modules/implementation-notification/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/implementation-notification/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/implementation-notification/NOTICE b/branches/sca-android/modules/implementation-notification/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/implementation-notification/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/implementation-notification/pom.xml b/branches/sca-android/modules/implementation-notification/pom.xml
deleted file mode 100644
index 505db519c5..0000000000
--- a/branches/sca-android/modules/implementation-notification/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-implementation-notification</artifactId>
- <name>Apache Tuscany SCA Notification Implementation Extension</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.notification</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.implementation.notification*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java
deleted file mode 100644
index 3f79ca71e5..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-
-/**
- * A default factory for the Notification implementation model.
- *
- * @version $Rev$ $Date$
- */
-public class DefaultNotificationImplementationFactory implements NotificationImplementationFactory {
-
- public NotificationImplementationImpl createNotificationImplementation() {
- return new NotificationImplementationImpl();
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java
deleted file mode 100644
index 6941a0b5f2..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import java.util.Map;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ImmutableMessage implements Message {
-
- public <T> T getBody() {
- return null;
- }
-
- public EndpointReference getFrom() {
- return null;
- }
-
- public Object getMessageID() {
- return null;
- }
-
- public EndpointReference getTo() {
- return null;
- }
-
- public RuntimeWire getWire() {
- return null;
- }
-
- public boolean isFault() {
- return false;
- }
-
- public <T> void setBody(T arg0) {
- throw new UnsupportedOperationException();
- }
-
- public <T> void setFaultBody(T arg0) {
- throw new UnsupportedOperationException();
- }
-
- public void setFrom(EndpointReference arg0) {
- throw new UnsupportedOperationException();
- }
-
- public void setMessageID(Object arg0) {
- throw new UnsupportedOperationException();
- }
-
- public void setTo(EndpointReference arg0) {
- throw new UnsupportedOperationException();
- }
-
- public Operation getOperation() {
- return null;
- }
-
- public void setOperation(Operation op) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @see org.apache.tuscany.sca.invocation.Message#getReplyTo()
- */
- public EndpointReference getReplyTo() {
- return null;
- }
-
- public Map<String, Object> getQoSContext() {
- return null;
- }
-
- public Map<String, Object> getHeader() {
- return null;
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java
deleted file mode 100644
index a2e35c5cb6..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * Turns invoke into remote message fan-out
- *
- * @version $Rev$ $Date$
- */
-public class NotificationComponentInvoker implements Invoker {
-
- private static final Message RESPONSE = new ImmutableMessage();
- private List<InvocationChain> subscriberInvocationChains;
- private Operation operation;
- private RuntimeComponent component;
-
- public NotificationComponentInvoker(Operation operation, RuntimeComponent component) {
- this.subscriberInvocationChains = null;
- this.operation = operation;
- this.component = component;
- }
-
- public Message invoke(Message msg) {
- addSubscriberInvocationChains();
-
- // REVIEW Should this be done in separate thread(s)?
- // REVIEW Should separate copies of message be used?
- Object msgBody = msg.getBody();
-
- for (InvocationChain subscriberInvocationChain : subscriberInvocationChains) {
- Invoker chainInvoker = subscriberInvocationChain.getHeadInvoker();
- msg.setBody(msgBody);
- chainInvoker.invoke(msg);
- }
-
- return RESPONSE;
- }
-
- private void addSubscriberInvocationChains() {
- if (subscriberInvocationChains == null) {
- subscriberInvocationChains = new ArrayList<InvocationChain>();
- for (ComponentReference reference : component.getReferences()) {
- if (reference.getName().indexOf("$self$") >= 0) {
- continue;
- }
- RuntimeComponentReference rtCompRef = null;
- if (reference instanceof RuntimeComponentReference) {
- rtCompRef = (RuntimeComponentReference)reference;
- }
- else {
- throw new RuntimeException("Need a runtime component reference");
- }
- for(RuntimeWire wire : rtCompRef.getRuntimeWires()) {
- // This is much less efficient now !!
- List<InvocationChain> chains = wire.getInvocationChains();
- InvocationChain chain = getInvocationChain(chains, operation);
- subscriberInvocationChains.add(chain);
- }
- }
- }
- }
-
- private InvocationChain getInvocationChain(List<InvocationChain> chains, Operation operation) {
- InvocationChain chain = null;
- for (InvocationChain ch : chains) {
- if (ch.getTargetOperation().equals(operation)) {
- chain = ch;
- break;
- }
- }
- if (chain == null) {
- for (InvocationChain ch : chains) {
- if (ch.getTargetOperation().getName().equals(operation.getName())) {
- chain = ch;
- break;
- }
- }
- if (chain == null) {
- throw new RuntimeException("Can't find a compatible chain");
- }
- }
- return chain;
- }
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java
deleted file mode 100644
index cea7038e9c..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationImplementationFactory {
-
- NotificationImplementationImpl createNotificationImplementation();
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java
deleted file mode 100644
index 594bec75b5..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.impl.ImplementationImpl;
-
-
-/**
- * Model object for a Notification implementation.
- *
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationImpl extends ImplementationImpl implements Implementation {
-
- private String componentTypeName;
- private String implementationType;
- private ComponentType componentType;
-
-
- public NotificationImplementationImpl() {
- // Without this, the loader's resolve is not called
- setUnresolved(true);
- }
-
- public String getComponentTypeName() {
- return componentTypeName;
- }
-
- public void setComponentTypeName(String componentTypeName) {
- this.componentTypeName = componentTypeName;
- }
-
- public String getImplementationType() {
- return implementationType;
- }
-
- public void setImplementationType(String implementationType) {
- this.implementationType = implementationType;
- }
-
- public ComponentType getComponentType() {
- return componentType;
- }
-
- public void setComponentType(ComponentType componentType) {
- this.componentType = componentType;
- }
-
- @Override
- public List<Service> getServices() {
- return componentType.getServices();
- }
-
- @Override
- public List<Reference> getReferences() {
- return componentType.getReferences();
- }
-
- @Override
- public int hashCode() {
- return String.valueOf(getComponentTypeName()).hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this)
- return true;
- else if (obj instanceof NotificationImplementationImpl &&
- getComponentTypeName().equals(((NotificationImplementationImpl)obj).getComponentTypeName()))
- return true;
- else
- return false;
- }
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java
deleted file mode 100644
index c8b55c7caa..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-
-/**
- * Loader for handling Notification <implementation.notification> elements.
- *
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationProcessor implements StAXArtifactProcessor<NotificationImplementationImpl> {
-
- protected static final QName IMPLEMENTATION_NOTIFICATION =
- new QName(Constants.SCA10_TUSCANY_NS, "implementation.notification");
-
- private NotificationImplementationFactory implementationFactory;
-
- public NotificationImplementationProcessor(NotificationImplementationFactory implementationFactory) {
- this.implementationFactory = implementationFactory;
- }
-
- public QName getArtifactType() {
- return IMPLEMENTATION_NOTIFICATION;
- }
-
- public Class<NotificationImplementationImpl> getModelType() {
- return NotificationImplementationImpl.class;
- }
-
- public NotificationImplementationImpl read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- assert IMPLEMENTATION_NOTIFICATION.equals(reader.getName());
- String componentTypeName = reader.getAttributeValue(null, "name");
- String implementationType = reader.getAttributeValue(null, "type");
-
- NotificationImplementationImpl implementation = implementationFactory.createNotificationImplementation();
- implementation.setComponentTypeName(componentTypeName);
- implementation.setImplementationType(implementationType);
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_NOTIFICATION.equals(reader.getName())) {
- break;
- }
- }
-
- ComponentType componentType = new DefaultAssemblyFactory().createComponentType();
- componentType.setURI(componentTypeName + ".componentType");
- componentType.setUnresolved(true);
- implementation.setComponentType(componentType);
-
- return implementation;
- }
-
- public void resolve(NotificationImplementationImpl impl, ModelResolver resolver) throws ContributionResolveException {
- ComponentType componentType = resolver.resolveModel(ComponentType.class, impl.getComponentType());
-
- if (componentType.isUnresolved()) {
- throw new ContributionResolveException("ComponentType still unresolved");
- }
- impl.setComponentType(componentType);
- impl.setUnresolved(false);
- }
-
- public void write(NotificationImplementationImpl model, XMLStreamWriter outputSource)
- throws ContributionWriteException, XMLStreamException {
-
- //FIXME Implement this method
- }
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java
deleted file mode 100644
index e9ea71c1d5..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationProvider implements ImplementationProvider {
-
- private RuntimeComponent component;
-
- /**
- * Constructs a new Notification implementation provider.
- */
- public NotificationImplementationProvider(RuntimeComponent component, NotificationImplementationImpl implementation) {
- this.component = component;
- }
-
- public Invoker createInvoker(RuntimeComponentService service, Operation operation) {
- NotificationComponentInvoker invoker = new NotificationComponentInvoker(operation, component);
- return invoker;
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- for (ComponentService service : component.getServices()) {
- if (service.getService() != null) {
- InterfaceContract interfaceContract = service.getService().getInterfaceContract();
- if (interfaceContract instanceof WSDLInterfaceContract) {
- interfaceContract.getInterface().resetDataBinding("org.apache.axiom.om.OMElement");
- }
- }
- }
- }
-
- public void stop() {
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java
deleted file mode 100644
index 80785e36e7..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationProviderFactory implements ImplementationProviderFactory<NotificationImplementationImpl> {
-
- public ImplementationProvider createImplementationProvider(RuntimeComponent component,
- NotificationImplementationImpl implementation) {
- return new NotificationImplementationProvider(component, implementation);
- }
-
- public Class<NotificationImplementationImpl> getModelType() {
- return NotificationImplementationImpl.class;
- }
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java b/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java
deleted file mode 100644
index 2795619208..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ModuleActivator;
-import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationModuleActivator implements ModuleActivator {
-
- private NotificationImplementationProcessor implementationLoader;
-
- public void start(ExtensionPointRegistry registry) {
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-
- implementationLoader = new NotificationImplementationProcessor(new DefaultNotificationImplementationFactory());
- processors.addArtifactProcessor(implementationLoader);
-
- ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class);
- providerFactories.addProviderFactory(new NotificationImplementationProviderFactory());
- }
-
- public void stop(ExtensionPointRegistry registry) {
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-
- processors.removeArtifactProcessor(implementationLoader);
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-android/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
deleted file mode 100644
index f8f6975395..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.implementation.notification.NotificationModuleActivator
diff --git a/branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java b/branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java
deleted file mode 100644
index f9a20edccd..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.binding.sca.impl.SCABindingFactoryImpl;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Interceptor;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-import org.easymock.EasyMock;
-
-/**
- *
- * @version $Rev$ $Date$
- *
- */
-public class NotificationComponentTestCase extends TestCase {
-
- public void testLocalNotificationComponent() throws Exception {
- try {
- Operation operation = EasyMock.createNiceMock(Operation.class);
- EasyMock.replay(operation);
-
- InvocationChain sub1Chain = EasyMock.createNiceMock(InvocationChain.class);
- EasyMock.expect(sub1Chain.getTargetOperation()).andReturn(operation);
- EasyMock.expect(sub1Chain.getHeadInvoker()).andReturn(new MockInterceptor());
- EasyMock.replay(sub1Chain);
- List<InvocationChain> sub1Chains = new ArrayList<InvocationChain>();
- sub1Chains.add(sub1Chain);
- SCABinding b1 = new SCABindingFactoryImpl().createSCABinding();
- EndpointReference epr1 = EasyMock.createNiceMock(EndpointReference.class);
- EasyMock.expect(epr1.getURI()).andReturn("wire1Target");
- EasyMock.expect(epr1.getBinding()).andReturn(b1);
- EasyMock.replay(epr1);
- RuntimeWire sub1Wire = EasyMock.createNiceMock(RuntimeWire.class);
- EasyMock.expect(sub1Wire.getInvocationChains()).andReturn(sub1Chains);
- EasyMock.expect(sub1Wire.getTarget()).andReturn(epr1).anyTimes();
- EasyMock.replay(sub1Wire);
- ArrayList<RuntimeWire> rtWires1 = new ArrayList<RuntimeWire>();
- rtWires1.add(sub1Wire);
- RuntimeComponentReference rtCompRef1 = EasyMock.createNiceMock(RuntimeComponentReference.class);
- EasyMock.expect(rtCompRef1.getName()).andReturn("sub1Reference");
- EasyMock.expect(rtCompRef1.getRuntimeWires()).andReturn(rtWires1);
- EasyMock.replay(rtCompRef1);
-
- InvocationChain sub2Chain = EasyMock.createNiceMock(InvocationChain.class);
- EasyMock.expect(sub2Chain.getTargetOperation()).andReturn(operation);
- EasyMock.expect(sub2Chain.getHeadInvoker()).andReturn(new MockInterceptor());
- EasyMock.replay(sub2Chain);
- List<InvocationChain> sub2Chains = new ArrayList<InvocationChain>();
- sub2Chains.add(sub2Chain);
- SCABinding b2 = new SCABindingFactoryImpl().createSCABinding();
- EndpointReference epr2 = EasyMock.createNiceMock(EndpointReference.class);
- EasyMock.expect(epr2.getURI()).andReturn("wire2Target");
- EasyMock.expect(epr2.getBinding()).andReturn(b2);
- EasyMock.replay(epr2);
- RuntimeWire sub2Wire = EasyMock.createNiceMock(RuntimeWire.class);
- EasyMock.expect(sub2Wire.getInvocationChains()).andReturn(sub2Chains);
- EasyMock.expect(sub2Wire.getTarget()).andReturn(epr2).anyTimes();
- EasyMock.replay(sub2Wire);
- ArrayList<RuntimeWire> rtWires2 = new ArrayList<RuntimeWire>();
- rtWires2.add(sub2Wire);
- RuntimeComponentReference rtCompRef2 = EasyMock.createNiceMock(RuntimeComponentReference.class);
- EasyMock.expect(rtCompRef2.getName()).andReturn("sub2Reference");
- EasyMock.expect(rtCompRef2.getRuntimeWires()).andReturn(rtWires2);
- EasyMock.replay(rtCompRef2);
-
- ArrayList<ComponentReference> references = new ArrayList<ComponentReference>();
- references.add(rtCompRef1);
- references.add(rtCompRef2);
- RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class);
- EasyMock.expect(component.getName()).andReturn("LocalNotificationComponentTest");
- EasyMock.expect(component.getReferences()).andReturn(references);
- EasyMock.replay(component);
-
- Invoker localNotificationInvoker = new NotificationComponentInvoker(operation, component);
-
- Message msg = EasyMock.createNiceMock(Message.class);
- EasyMock.expect(msg.getBody()).andReturn("msg").times(3); // once per sub int + once in notif target invoker
- EasyMock.replay(msg);
- localNotificationInvoker.invoke(msg);
- EasyMock.verify(msg);
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-
- class MockInterceptor implements Interceptor {
-
- public Message invoke(Message msg) {
- Assert.assertEquals("msg", msg.getBody());
- return msg;
- }
-
- public void setNext(Invoker next) {
- throw new AssertionError();
- }
-
- public Interceptor getNext() {
- throw new AssertionError();
- }
-
- public boolean isOptimizable() {
- throw new AssertionError();
- }
- }
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java b/branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java
deleted file mode 100644
index 89cbd3ec48..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.notification;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.easymock.EasyMock;
-
-/**
- *
- * @version $Rev$ $Date$
- *
- */
-public class NotificationImplementationLoaderTestCase extends TestCase {
-
- public void testRead() throws Exception {
- try {
- NotificationImplementationProcessor implementationLoader =
- new NotificationImplementationProcessor(new DefaultNotificationImplementationFactory());
-
- XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
- EasyMock.expect(reader.getName()).andReturn(NotificationImplementationProcessor.IMPLEMENTATION_NOTIFICATION).times(2);
- EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("TrafficAdvisoryNotificationTestCase");
- EasyMock.expect(reader.getAttributeValue(null, "type")).andReturn(null);
- EasyMock.expect(reader.hasNext()).andReturn(true);
- EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
- EasyMock.replay(reader);
-
- Implementation impl = implementationLoader.read(reader);
- Assert.assertNotNull(impl);
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-android/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType b/branches/sca-android/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType
deleted file mode 100644
index 1fd952a0a8..0000000000
--- a/branches/sca-android/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <service name="TrafficAdvisoryNotificationService">
- <interface.java interface="org.apache.tuscany.sca.implementation.notification.TrafficAdvisory"/>
- </service>
-
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n">
- <interface.java interface="org.apache.tuscany.sca.implementation.notification.TrafficAdvisory"/>
- </reference>
-</componentType>
diff --git a/branches/sca-android/modules/implementation-openjpa/LICENSE b/branches/sca-android/modules/implementation-openjpa/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/implementation-openjpa/META-INF/README b/branches/sca-android/modules/implementation-openjpa/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/implementation-openjpa/NOTICE b/branches/sca-android/modules/implementation-openjpa/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/implementation-openjpa/README b/branches/sca-android/modules/implementation-openjpa/README
deleted file mode 100644
index ff6ee6a8f4..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/README
+++ /dev/null
@@ -1,33 +0,0 @@
-Tuscany implementation OpenJpa
-===============================
-Persistence technology is a very part of enterprise level application system. Tuscany has provided
-SDO implementation and a non standard but useful DAS infrastructure.
-But Tuscany also considered much existed software resource has used popular technologies as
-hibernate and jpa.
-Hibernate has license problem so an implementation based on it can not be hosted by Apache.
-This implementation is developed on the bases of Tuscany¡¯s robust extensible architecture and of
-course the jpa implementation project: Apache OpenJPA.
-
-This module is under the process of more improvement:
-
-For the time being, user of this module could configure a component as did by the *.composite file
-in this module. The component is infact a proxy of a JPA top api:
- javax.persitence.EntityManager
-User of this module could use all the method provided by this interface.
-
-An difference is: OpenJPA could work with 2PC only if there is JNDI context and
-TransactionManager registered in the JNDI. This module modified much to work with
-policy-transaction module.
-
-For the time being, the Transaction boundary is located around one invocation of the EntityManager. But in the future, these boundary will move up to an component who references the EntityManager, that will be the righteous way for SCA developers!
-
-The data base working in this module is now Derby, it is for the ease of test running. MySQL
-could also work with this module, but it need database deployment in before. Not all types of database could work with this module, such as HSql, it did not provided a XA DataSource implementation up to now.
-
-There are much powerful features provided by openjpa, such as table auto generation, it is now also working in this module.
-
-User could get start from looking at what is done by:
-??org.apache.tuscany.sca.implementation.openjpa.ImplJpaTestCase
-??and
-??openjpa.composite
-When running the testcase, a RuntimeException stack trace(from inside openjpa api) will get printed on your screen, it is just ok, because of a trying of duplication primary key insertion, and it causes transaction rolling back.
diff --git a/branches/sca-android/modules/implementation-openjpa/pom.xml b/branches/sca-android/modules/implementation-openjpa/pom.xml
deleted file mode 100644
index ff5acd4e2c..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/pom.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-implementation-jpa</artifactId>
- <name>Apache Tuscany SCA OpenJPA Implementation Extension</name>
-
- <repositories>
- <repository>
- <id>apache.incubator</id>
- <url>http://people.apache.org/repo/m2-incubating-repository</url>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-policy-transaction</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <version>10.3.1.4</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_3.0_spec</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa</artifactId>
- <version>1.0.0</version>
- </dependency>
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
-
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.openjpa</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.implementation.openjpa*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java
deleted file mode 100644
index c1ed6b4e58..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import java.util.Properties;
-
-import org.apache.openjpa.persistence.PersistenceUnitInfoImpl;
-import org.apache.tuscany.sca.assembly.Implementation;
-
-public interface JPAImplementation extends Implementation {
-
- void setPersistenceUnitInfoImpl(PersistenceUnitInfoImpl buii);
-
- PersistenceUnitInfoImpl getPersistenceUnitInfoImpl();
-
- void setDataSourceMeta(Properties p);
-
- Properties getDataSourceMeta();
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java
deleted file mode 100644
index a5812b26e4..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-public interface JPAImplementationFactory {
- JPAImplementation createOpenJpaImplementation();
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java
deleted file mode 100644
index 7ddd30047a..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import java.util.Properties;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.openjpa.persistence.PersistenceUnitInfoImpl;
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.implementation.openjpa.impl.JPAImplementationFactoryImpl;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-
-public class JPAImplementationProcessor implements StAXArtifactProcessor<JPAImplementation> {
- private final QName QNAME = new QName(Constants.SCA10_TUSCANY_NS, "implementation.jpa");
- private QName DS = new QName(Constants.SCA10_TUSCANY_NS, "datasource");
-
- private JPAImplementationFactory jpaFactory;
- private Log log = LogFactory.getLog(this.getClass());
- private StAXArtifactProcessor<PersistenceUnitInfoImpl> puiiProcessor;
-
- public JPAImplementationProcessor(ModelFactoryExtensionPoint modelFactories) {
- AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- JavaInterfaceFactory javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
-
- this.jpaFactory = new JPAImplementationFactoryImpl(assemblyFactory, javaFactory);
- this.puiiProcessor = new PersistenceUnitInfoImplProcessor(modelFactories);
- }
-
- public Class<JPAImplementation> getModelType() {
- return JPAImplementation.class;
- }
-
- public QName getArtifactType() {
- return QNAME;
- }
-
- public JPAImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- assert QNAME.equals(reader.getName());
- JPAImplementation implementation = jpaFactory.createOpenJpaImplementation();
-
- implementation.setPersistenceUnitInfoImpl(puiiProcessor.read(reader));
- Properties dsmeta = new Properties();
- do {
- int event = reader.next();
- if (event == XMLStreamConstants.START_ELEMENT) {
- if (!reader.getName().equals(DS)) {
- dsmeta.setProperty(reader.getName().getLocalPart(), reader.getElementText());
- }
- } else if (event == XMLStreamConstants.END_ELEMENT && reader.getName().equals(DS)) {
- implementation.setDataSourceMeta(dsmeta);
- break;
- }
- } while (true);
-
- return implementation;
-
- }
-
- public void write(JPAImplementation model, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
- // TODO Auto-generated method stub
-
- }
-
- public void resolve(JPAImplementation model, ModelResolver resolver) throws ContributionResolveException {
-
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java
deleted file mode 100644
index d6e8276f25..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.openjpa.persistence.PersistenceUnitInfoImpl;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-
-public class PersistenceUnitInfoImplProcessor implements StAXArtifactProcessor<PersistenceUnitInfoImpl> {
- private QName P_U = new QName(Constants.SCA10_TUSCANY_NS, "persistence-unit");
- private QName BrokerFactory = new QName(Constants.SCA10_TUSCANY_NS, "jpa.BrokerFactory");
- private QName CLASS = new QName(Constants.SCA10_TUSCANY_NS, "class");
- private QName TRAN_MD = new QName(Constants.SCA10_TUSCANY_NS, "jpa.TransactionMode");
- private QName LOG = new QName(Constants.SCA10_TUSCANY_NS, "jpa.Log");
- private QName SYNCHRON = new QName(Constants.SCA10_TUSCANY_NS, "jpa.jdbc.SynchronizeMappings");
-
- public PersistenceUnitInfoImplProcessor(ModelFactoryExtensionPoint modelFactories) {
-
- }
-
- public QName getArtifactType() {
- // TODO Auto-generated method stub
- return null;
- }
-
-
- public PersistenceUnitInfoImpl read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
- PersistenceUnitInfoImpl _info = new PersistenceUnitInfoImpl();
-
- while (true) {
- int event = reader.next();
- switch (event) {
-
- case XMLStreamConstants.START_ELEMENT:
- QName qn = reader.getName();
- /*
- * if (qn.equals(BrokerFactory)) {
- * _info.setProperty("openjpa.BrokerFactory", reader
- * .getElementText()); }
- */
- if (qn.equals(CLASS)) {
- _info.addManagedClassName(reader.getElementText());
-
- } else if (qn.equals(P_U)) {
- _info.setPersistenceUnitName(reader.getAttributeValue(null, "name"));
- } else {
- _info.setProperty(qn.getLocalPart(), reader.getElementText());
- } /*
- * else if (qn.equals(LOG)) {
- * _info.setProperty("openjpa.Log",
- * reader.getElementText()); } else if
- * (qn.equals(SYNCHRON)) {
- * _info.setProperty("openjpa.jdbc.SynchronizeMappings",
- * reader.getElementText()); }
- */
- break;
- case XMLStreamConstants.END_ELEMENT:
- if (reader.getName().equals(P_U))
- return _info;
- }
- }
- }
-
- public void write(PersistenceUnitInfoImpl model, XMLStreamWriter writer) throws ContributionWriteException,
- XMLStreamException {
- // TODO Auto-generated method stub
-
- }
-
- public Class<PersistenceUnitInfoImpl> getModelType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void resolve(PersistenceUnitInfoImpl model, ModelResolver resolver) throws ContributionResolveException {
- // TODO Auto-generated method stub
-
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java
deleted file mode 100644
index c4b14a1a90..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import javax.sql.XAConnection;
-import javax.transaction.TransactionManager;
-
-import org.apache.derby.jdbc.*;
-import org.apache.openjpa.conf.OpenJPAConfiguration;
-import org.apache.openjpa.kernel.AbstractBrokerFactory;
-import org.apache.openjpa.kernel.StoreManager;
-import org.apache.openjpa.lib.conf.ConfigurationProvider;
-import java.util.*;
-import org.apache.commons.logging.*;
-import org.apache.openjpa.jdbc.meta.MappingTool;
-import org.apache.openjpa.jdbc.conf.*;
-import org.apache.openjpa.meta.*;
-
-public class TuscanyBrokerFactory extends AbstractBrokerFactory {
- private Log log = LogFactory.getLog(this.getClass());
- protected TuscanyBrokerFactory(OpenJPAConfiguration conf) {
- super(conf);
- if (buildSchema != null && buildSchema.equals("buildSchema")) {
- MappingTool tool = new MappingTool((JDBCConfiguration) conf,
- (String) buildSchema, false);
- Collection classes = meta.loadPersistentTypes(false, this
- .getClass().getClassLoader());
- for (Iterator itr = classes.iterator(); itr.hasNext();) {
- tool.run((Class) itr.next());
- }
- log
- .info("creating database and tables accroding to class mappings...");
- tool.record();
- }
- }
-
- private XAConnection xaconn;
-
- @Override
- protected StoreManager newStoreManager() {
- try {
- if (xaconn == null) {
- if (cp.getProperties().get("dbtype").equals("Derby")) {
- EmbeddedXADataSource xads = new EmbeddedXADataSource();
- xads.setDatabaseName((String)cp.getProperties().get("dbname"));
-
- xaconn = xads.getXAConnection();
- }
-
- System.out.println("------------TuscanyBrokerFactory.newStoreManager....");
-
- }
- return new TuscanyStoreManager(xaconn);
-
- } catch (Exception ex) {
- ex.printStackTrace();
- throw new RuntimeException(ex);
- }
- }
-
- private static TransactionManager tm;
- private static ConfigurationProvider cp;
- private static Object buildSchema;
- private static MetaDataRepository meta;
-
- public static TuscanyBrokerFactory newInstance(ConfigurationProvider _cp) {
- tm = (TransactionManager)_cp.getProperties().get("TransactionManager");
- EmbeddedDataSource ds2 = null;
- if (_cp.getProperties().get("dbtype").equals("Derby")) {
- ds2 = new EmbeddedDataSource();
- ds2.setDatabaseName((String) _cp.getProperties().get("dbname"));
- ds2.setCreateDatabase((String) _cp.getProperties().get("dbcreate"));
- }
- TuscanyJDBCConfigurationImpl conf = new TuscanyJDBCConfigurationImpl(tm, ds2);
- _cp.setInto(conf);
- buildSchema = _cp.getProperties().get(
- "openjpa.jdbc.SynchronizeMappings");
-
- meta = conf.getMetaDataRepositoryInstance();
- cp = _cp;
- return new TuscanyBrokerFactory(conf);
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java
deleted file mode 100644
index f5972142de..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import javax.transaction.TransactionManager;
-
-import org.apache.openjpa.ee.ManagedRuntime;
-import org.apache.openjpa.kernel.BrokerImpl;
-
-public class TuscanyBrokerImpl extends BrokerImpl {
- private TransactionManager tm;
-
- public TuscanyBrokerImpl(TransactionManager tm) {
- this.tm = tm;
- }
-
- public ManagedRuntime getManagedRuntime() {
- return new TuscanyManagerRuntime(tm);
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java
deleted file mode 100644
index 820121824a..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import javax.transaction.TransactionManager;
-
-import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl;
-import org.apache.openjpa.jdbc.sql.DBDictionary;
-import org.apache.openjpa.jdbc.sql.DerbyDictionary;
-import org.apache.openjpa.kernel.BrokerImpl;
-import org.apache.openjpa.lib.conf.Configurations;
-import javax.sql.*;
-import org.apache.openjpa.ee.*;
-import org.apache.openjpa.kernel.*;
-
-public class TuscanyJDBCConfigurationImpl extends JDBCConfigurationImpl {
- private TransactionManager tm;
-
- public TuscanyJDBCConfigurationImpl(TransactionManager tm,DataSource _ds) {
- this.tm = tm;
- ds2 = _ds;
- }
- public ManagedRuntime getManagedRuntimeInstance() {
- return new TuscanyManagerRuntime(tm);
- }
-
- public Object getConnectionFactory() {
- return null;
- }
-
- public DBDictionary getDBDictionaryInstance() {
- DerbyDictionary dd = new DerbyDictionary();
- Configurations.configureInstance(dd, this, "", "");
- return dd;
- }
- private DataSource ds2;
- @Override
- public DataSource getDataSource2(StoreContext ctx) {
-
- return ds2;
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java
deleted file mode 100644
index 2fb35f83a1..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-import javax.transaction.SystemException;
-import javax.transaction.TransactionManager;
-
-import org.apache.openjpa.ee.ManagedRuntime;
-
-public class TuscanyManagerRuntime implements ManagedRuntime{
- public TuscanyManagerRuntime(TransactionManager tm){
- this.tm = tm;
- }
- public Throwable getRollbackCause() throws Exception {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Object getTransactionKey() throws Exception, SystemException {
- // TODO Auto-generated method stub
- return "Geng";
- }
- private TransactionManager tm;
- public TransactionManager getTransactionManager() throws Exception {
-
-
- return tm;
- }
-
- public void setRollbackOnly(Throwable cause) throws Exception {
- // TODO Auto-generated method stub
-
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java
deleted file mode 100644
index 441ba666d7..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-import javax.sql.XAConnection;
-
-import org.apache.openjpa.jdbc.kernel.JDBCStoreManager;
-
-public class TuscanyStoreManager extends JDBCStoreManager {
- private XAConnection xaconn;
-
- public TuscanyStoreManager(XAConnection xaconn) {
- this.xaconn = xaconn;
- }
-
- protected _RefCountConnection connectInternal() throws SQLException {
- Connection conn = xaconn.getConnection();
- // conn.setAutoCommit(false);
- _RefCountConnection rc = new _RefCountConnection(conn);
- return rc;
- }
-
- class _RefCountConnection extends RefCountConnection {
- public _RefCountConnection(Connection conn) {
-
- super(conn);
- }
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java
deleted file mode 100644
index 2a7d1abd70..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa.impl;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.implementation.openjpa.*;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-
-public class JPAImplementationFactoryImpl implements JPAImplementationFactory {
- private AssemblyFactory assemblyFactory;
- private JavaInterfaceFactory javaFactory;
-
- public JPAImplementationFactoryImpl(AssemblyFactory aF, JavaInterfaceFactory javaIF) {
- this.assemblyFactory = aF;
- this.javaFactory = javaIF;
- }
-
- public JPAImplementation createOpenJpaImplementation() {
- return new JPAImplementationImpl(assemblyFactory, javaFactory);
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java
deleted file mode 100644
index 055ecd4a4d..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa.impl;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Properties;
-
-import javax.persistence.EntityManager;
-
-import org.apache.openjpa.persistence.PersistenceUnitInfoImpl;
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.implementation.openjpa.JPAImplementation;
-import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-
-public class JPAImplementationImpl implements JPAImplementation {
- private Service jpaService;
- private PersistenceUnitInfoImpl puii;
- private Properties dsmeta;
-
- public void setPersistenceUnitInfoImpl(PersistenceUnitInfoImpl puii) {
- this.puii = puii;
- }
-
- public PersistenceUnitInfoImpl getPersistenceUnitInfoImpl() {
- return this.puii;
- }
-
- public void setDataSourceMeta(Properties p) {
- dsmeta = p;
- }
-
- public Properties getDataSourceMeta() {
- return dsmeta;
- }
-
- JPAImplementationImpl(AssemblyFactory assemblyFactory, JavaInterfaceFactory javaFactory) {
-
- jpaService = assemblyFactory.createService();
- jpaService.setName("EntityManager");
- JavaInterface javaInterface;
- try {
- javaInterface = javaFactory.createJavaInterface(EntityManager.class);
- } catch (InvalidInterfaceException e) {
- throw new IllegalArgumentException(e);
- }
- JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract();
- interfaceContract.setInterface(javaInterface);
- jpaService.setInterfaceContract(interfaceContract);
- }
-
- public boolean isUnresolved() {
- // TODO Auto-generated method stub
- return false;
- }
-
- public void setUnresolved(boolean unresolved) {
- // TODO Auto-generated method stub
-
- }
-
- public ConstrainingType getConstrainingType() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public List<Property> getProperties() {
- // TODO Auto-generated method stub
- return Collections.emptyList();
- }
-
- public List<Reference> getReferences() {
- return Collections.emptyList();
- }
-
- public List<Service> getServices() {
- return Collections.singletonList(jpaService);
- }
-
- public String getURI() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // TODO Auto-generated method stub
-
- }
-
- public void setURI(String uri) {
- // TODO Auto-generated method stub
-
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java
deleted file mode 100644
index fbff09341c..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa.provider;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.persistence.EntityManagerFactory;
-import javax.transaction.TransactionManager;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.openjpa.kernel.Bootstrap;
-import org.apache.openjpa.kernel.BrokerFactory;
-import org.apache.openjpa.persistence.JPAFacadeHelper;
-import org.apache.openjpa.persistence.PersistenceUnitInfoImpl;
-import org.apache.openjpa.persistence.PersistenceProductDerivation.ConfigurationProviderImpl;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.implementation.openjpa.JPAImplementation;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-public class JPAImplementationProvider implements ImplementationProvider {
- private RuntimeComponent component;
- private JPAImplementation implementation;
- private EntityManagerFactory emf;
- private TransactionManager tm;
-
- public JPAImplementationProvider(RuntimeComponent component,
- JPAImplementation implementation,
- ExtensionPointRegistry extensionPoints) {
- this.component = component;
- this.implementation = implementation;
- tm =
- (TransactionManager)extensionPoints.getExtensionPoint(org.apache.geronimo.transaction.manager.XAWork.class);
- try {
- // tm.begin();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- initEntityManager();
- }
-
- private void initEntityManager() {
- Map map = new HashMap();
- map.put("TransactionManager", tm);
- PersistenceUnitInfoImpl _info = implementation.getPersistenceUnitInfoImpl();
- _info.fromUserProperties(map);
- ConfigurationProviderImpl cp = new ConfigurationProviderImpl();
- cp.addProperties(_info.toOpenJPAProperties());
- cp.addProperties(implementation.getDataSourceMeta());
-
- BrokerFactory factory = Bootstrap.newBrokerFactory(cp, null);
-
- emf = JPAFacadeHelper.toEntityManagerFactory(factory);
-
- }
-
- private Log log = LogFactory.getLog(this.getClass());
-
- public Invoker createInvoker(RuntimeComponentService service, Operation operation) {
-
- return new JPAInvoker(operation, emf, tm);
- }
-
- public void start() {
- // TODO Auto-generated method stub
-
- }
-
- public void stop() {
- // TODO Auto-generated method stub
-
- }
-
- public boolean supportsOneWayInvocation() {
- // TODO Auto-generated method stub
- return false;
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java
deleted file mode 100644
index 11a92c5064..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa.provider;
-
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.implementation.openjpa.JPAImplementation;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-public class JPAImplementationProviderFactory implements ImplementationProviderFactory<JPAImplementation> {
- private ExtensionPointRegistry eP;
-
- public JPAImplementationProviderFactory(ExtensionPointRegistry extensionPoints) {
- eP = extensionPoints;
- }
-
- public ImplementationProvider createImplementationProvider(RuntimeComponent component,
- JPAImplementation implementation) {
- return new JPAImplementationProvider(component, implementation, eP);
- }
-
- public Class<JPAImplementation> getModelType() {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java b/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java
deleted file mode 100644
index 8b74209d3e..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa.provider;
-
-import java.lang.reflect.Method;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.transaction.TransactionManager;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-
-public class JPAInvoker implements Invoker {
- private Operation operation;
- private TransactionManager tm;
-
- public JPAInvoker(Operation operation, EntityManagerFactory emf, TransactionManager tm) {
- this.operation = operation;
- this.tm = tm;
- this.emf = emf;
- }
-
- private Log log = LogFactory.getLog(this.getClass());
- private EntityManagerFactory emf;
-
- public Message invoke(Message msg) {
- try {
- tm.begin();
- Method method = JavaInterfaceUtil.findMethod(EntityManager.class, operation);
- Object r = method.invoke(emf.createEntityManager(), (Object[])msg.getBody());
- tm.commit();
- log.info(method);
- msg.setBody(r);
- return msg;
- } catch (Exception ex) {
- throw new RuntimeException(ex);
-
- }
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 3f8e373c88..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.implementation.openjpa.JPAImplementationProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#implementation.jpa,model=org.apache.tuscany.sca.implementation.openjpa.JPAImplementation \ No newline at end of file
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory b/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory
deleted file mode 100644
index 13067543c9..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-org.apache.tuscany.sca.implementation.openjpa.impl.JPAImplementationFactoryImpl \ No newline at end of file
diff --git a/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
deleted file mode 100644
index fb62ff853b..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the implementation extension
-org.apache.tuscany.sca.implementation.openjpa.provider.JPAImplementationProviderFactory;model=org.apache.tuscany.sca.implementation.openjpa.JPAImplementation \ No newline at end of file
diff --git a/branches/sca-android/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java b/branches/sca-android/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java
deleted file mode 100644
index 900fab3242..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.openjpa;
-
-import junit.framework.*;
-import org.apache.tuscany.sca.host.embedded.*;
-import org.apache.commons.logging.*;
-import sample.*;
-import javax.persistence.*;
-import java.util.*;
-
-public class ImplJpaTestCase extends TestCase {
- private EntityManager em;
- private Log log = LogFactory.getLog(this.getClass());
- private SCADomain domain;
-
- public void setUp() {
- domain = SCADomain.newInstance("openjpa.composite");
- em = domain.getService(EntityManager.class, "OpenJPAServiceComponent");
-
- }
-
- public void testAccess() {
- Abc a = new Abc();
- int i = new Random().nextInt();
- a.setId(i);
- em.persist(a);
- log.info(em.find(Abc.class, i));
- Query q = em.createQuery("select a from Abc a");
- q.setMaxResults(5);
- log.info("There are " + q.getResultList().size() + " Abc in the database now");
- }
-
- public void testRollback() {
- try {
- Abc a = new Abc();
- int i = new Random().nextInt();
- a.setId(i);
- em.persist(a);
- Abc a2 = new Abc();
- a2.setId(i);
- em.persist(a2);
-
- } catch (RuntimeException ex) {
- log.info("An expected exception occured, Tuscany is rolling back...");
- }
- }
-
- public void tearDown() {
- em.close();
- domain.close();
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Abc.java b/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Abc.java
deleted file mode 100644
index 0f8e9e4391..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Abc.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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 sample;
-import javax.persistence.*;
-@Entity
-public class Abc {
- private int id;
- @Id
- public int getId(){
- return id;
- }
- public void setId(int i){
- id = i;
- }
- public String toString(){
- return "My Id is "+id;
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Message.java b/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Message.java
deleted file mode 100644
index da4fd1f3fc..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/Message.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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 sample;
-
-import java.util.*;
-import javax.persistence.*;
-
-
-/**
- * A very simple persistent entity that holds a "message", has a
- * "created" field that is initialized to the time at which the
- * object was created, and an id field that is initialized to the
- * current time.
- */
-@Entity
-public class Message {
- @Id
- private long id = System.currentTimeMillis();
-
- @Basic
- private String message;
-
- @Basic
- private Date created = new Date();
-
- public Message() {
- }
-
- public Message(String msg) {
- message = msg;
- }
-
- public void setId(long val) {
- id = val;
- }
-
- public long getId() {
- return id;
- }
-
- public void setMessage(String msg) {
- message = msg;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setCreated(Date date) {
- created = date;
- }
-
- public Date getCreated() {
- return created;
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/MyObject.java b/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/MyObject.java
deleted file mode 100644
index d3b1baf182..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/test/java/sample/MyObject.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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 sample;
-
-import java.io.*;
-import javax.persistence.*;
-@Entity
-public class MyObject implements Serializable{
- private int id;
- @Id
- public int getId(){
- return id;
- }
- public void setId(int i){
- id =i;
- }
-}
diff --git a/branches/sca-android/modules/implementation-openjpa/src/test/resources/openjpa.composite b/branches/sca-android/modules/implementation-openjpa/src/test/resources/openjpa.composite
deleted file mode 100644
index 1c1b6976bd..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/src/test/resources/openjpa.composite
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample/openjpa" name="impl-jpa">
-
- <component name="OpenJPAServiceComponent">
- <tuscany:implementation.jpa>
- <tuscany:persistence-unit name="hellojpa">
- <tuscany:openjpa.BrokerFactory>org.apache.tuscany.sca.implementation.openjpa.TuscanyBrokerFactory</tuscany:openjpa.BrokerFactory>
- <tuscany:openjpa.TransactionMode>managed</tuscany:openjpa.TransactionMode>
- <tuscany:openjpa.Log>DefaultLevel=WARN,SQL=TRACE</tuscany:openjpa.Log>
- <tuscany:openjpa.jdbc.SynchronizeMappings>buildSchema</tuscany:openjpa.jdbc.SynchronizeMappings>
-
- <tuscany:class>sample.Abc</tuscany:class>
- <tuscany:class>sample.Message</tuscany:class>
- </tuscany:persistence-unit>
- <tuscany:datasource>
- <dbtype>Derby</dbtype>
- <dbname>test</dbname>
- <dbcreate>create</dbcreate>
- </tuscany:datasource>
- </tuscany:implementation.jpa>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/implementation-openjpa/test/db.lck b/branches/sca-android/modules/implementation-openjpa/test/db.lck
deleted file mode 100644
index ad9dc5455d..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/db.lck
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/log/log.ctrl b/branches/sca-android/modules/implementation-openjpa/test/log/log.ctrl
deleted file mode 100644
index 9ce366fcb9..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/log/log.ctrl
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/log/log1.dat b/branches/sca-android/modules/implementation-openjpa/test/log/log1.dat
deleted file mode 100644
index cc35dfe190..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/log/log1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/log/logmirror.ctrl b/branches/sca-android/modules/implementation-openjpa/test/log/logmirror.ctrl
deleted file mode 100644
index 9ce366fcb9..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/log/logmirror.ctrl
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c10.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c10.dat
deleted file mode 100644
index 7a0801a048..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c10.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c101.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c101.dat
deleted file mode 100644
index bf3e68815c..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c101.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c111.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c111.dat
deleted file mode 100644
index 1e0cedeb01..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c111.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c121.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c121.dat
deleted file mode 100644
index c8dfb77f24..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c121.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c130.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c130.dat
deleted file mode 100644
index 2b7138c98d..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c130.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c141.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c141.dat
deleted file mode 100644
index 52d555910b..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c141.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c150.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c150.dat
deleted file mode 100644
index 29e11535cb..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c150.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c161.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c161.dat
deleted file mode 100644
index 4cb160cf7c..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c161.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c171.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c171.dat
deleted file mode 100644
index 0a335bfa96..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c171.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c180.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c180.dat
deleted file mode 100644
index 30fc7aa23b..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c180.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c191.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c191.dat
deleted file mode 100644
index b2d149a0f3..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c191.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1a1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c1a1.dat
deleted file mode 100644
index a0153570e1..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1a1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1b1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c1b1.dat
deleted file mode 100644
index 396dc810ae..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1b1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1c0.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c1c0.dat
deleted file mode 100644
index 359525a31a..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1c0.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1d1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c1d1.dat
deleted file mode 100644
index 9f257df932..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1d1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1e0.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c1e0.dat
deleted file mode 100644
index e43e52fb7f..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1e0.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1f1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c1f1.dat
deleted file mode 100644
index 7e6ee3b1e0..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c1f1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c20.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c20.dat
deleted file mode 100644
index 0aa098f1ca..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c20.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c200.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c200.dat
deleted file mode 100644
index cae919d022..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c200.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c211.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c211.dat
deleted file mode 100644
index c7e311b00e..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c211.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c221.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c221.dat
deleted file mode 100644
index 28e89367ce..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c221.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c230.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c230.dat
deleted file mode 100644
index 528295a863..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c230.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c241.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c241.dat
deleted file mode 100644
index 5c8f825ad8..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c241.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c251.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c251.dat
deleted file mode 100644
index d3d6adf4fb..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c251.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c260.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c260.dat
deleted file mode 100644
index 8d7333df7d..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c260.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c271.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c271.dat
deleted file mode 100644
index af722f7d73..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c271.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c281.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c281.dat
deleted file mode 100644
index 3972983c2e..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c281.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c290.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c290.dat
deleted file mode 100644
index 31577b8124..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c290.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2a1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c2a1.dat
deleted file mode 100644
index 0f700d13a7..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2a1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2b1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c2b1.dat
deleted file mode 100644
index 1d6382fb3d..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2b1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2c1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c2c1.dat
deleted file mode 100644
index 3bc60d886b..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2c1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2d0.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c2d0.dat
deleted file mode 100644
index c542d3c91c..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2d0.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2e1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c2e1.dat
deleted file mode 100644
index 16abd20b5f..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2e1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2f0.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c2f0.dat
deleted file mode 100644
index eb26be5932..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c2f0.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c300.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c300.dat
deleted file mode 100644
index cb474d9335..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c300.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c31.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c31.dat
deleted file mode 100644
index ce609b1bb3..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c31.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c311.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c311.dat
deleted file mode 100644
index 5ad39aaab4..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c311.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c320.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c320.dat
deleted file mode 100644
index 1aacbe9fac..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c320.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c331.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c331.dat
deleted file mode 100644
index bb7a47c150..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c331.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c41.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c41.dat
deleted file mode 100644
index 3c730d1420..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c41.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c51.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c51.dat
deleted file mode 100644
index 9c861dbc56..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c51.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c60.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c60.dat
deleted file mode 100644
index 8165cc700e..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c60.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c71.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c71.dat
deleted file mode 100644
index 1696647e11..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c71.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c81.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c81.dat
deleted file mode 100644
index cfe999e650..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c81.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/c90.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/c90.dat
deleted file mode 100644
index 0bfa562d41..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/c90.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/ca1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/ca1.dat
deleted file mode 100644
index 188373cb62..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/ca1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/cb1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/cb1.dat
deleted file mode 100644
index ced876c84f..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/cb1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/cc0.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/cc0.dat
deleted file mode 100644
index 5126021a83..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/cc0.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/cd1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/cd1.dat
deleted file mode 100644
index 2e135b64ab..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/cd1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/ce1.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/ce1.dat
deleted file mode 100644
index 076423c10a..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/ce1.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/seg0/cf0.dat b/branches/sca-android/modules/implementation-openjpa/test/seg0/cf0.dat
deleted file mode 100644
index 1a9a838ddf..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/seg0/cf0.dat
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/implementation-openjpa/test/service.properties b/branches/sca-android/modules/implementation-openjpa/test/service.properties
deleted file mode 100644
index ae366e6ef7..0000000000
--- a/branches/sca-android/modules/implementation-openjpa/test/service.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#D:\Projects\openjpa\openjpa\test
-# ********************************************************************
-# *** Please do NOT edit this file. ***
-# *** CHANGING THE CONTENT OF THIS FILE MAY CAUSE DATA CORRUPTION. ***
-# ********************************************************************
-#Thu Nov 08 16:44:42 CST 2007
-SysschemasIndex2Identifier=225
-SyscolumnsIdentifier=144
-SysconglomeratesIndex1Identifier=49
-SysconglomeratesIdentifier=32
-SyscolumnsIndex2Identifier=177
-SysschemasIndex1Identifier=209
-SysconglomeratesIndex3Identifier=81
-SystablesIndex2Identifier=129
-SyscolumnsIndex1Identifier=161
-derby.serviceProtocol=org.apache.derby.database.Database
-SysschemasIdentifier=192
-derby.storage.propertiesId=16
-SysconglomeratesIndex2Identifier=65
-derby.serviceLocale=zh_CN
-SystablesIdentifier=96
-SystablesIndex1Identifier=113
diff --git a/branches/sca-android/modules/implementation-web-runtime/LICENSE b/branches/sca-android/modules/implementation-web-runtime/LICENSE
deleted file mode 100644
index 6b0b1270ff..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/implementation-web-runtime/META-INF/README b/branches/sca-android/modules/implementation-web-runtime/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/implementation-web-runtime/NOTICE b/branches/sca-android/modules/implementation-web-runtime/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/implementation-web-runtime/pom.xml b/branches/sca-android/modules/implementation-web-runtime/pom.xml
deleted file mode 100644
index ba296fefcd..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/pom.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-implementation-web-runtime</artifactId>
- <name>Apache Tuscany SCA implementation.web Extension</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-web</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jsp_2.1_spec</artifactId>
- <version>1.0</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.web.runtime</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.implementation.web.runtime*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java b/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java
deleted file mode 100644
index bf33f7ad9e..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-/**
- * Servlet that handles the GET request for the componentContext.js script
- *
- * The script is generated by calling ScriptProcessors to output the code
- * for the SCA references, properties etc.
- */
-public class ComponentContextServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
-
- protected static final String HEADER = "/** --- Apache Tuscany componentContext.js --- */\n";
- protected static final String FOOTER = "/** --- Apache Tuscany componentContext.js EOF --- */\n";
-
- public static final String COMPONENT_CONTEXT_SCRIPT_URI = "org.apache.tuscany.sca.componentContext.js";
-
- protected transient Map<String, Object> attributes = new HashMap<String, Object>();
- protected transient ServletContext servletContext;
- private transient List<ContextScriptProcessor> contextScriptProcessors = new ArrayList<ContextScriptProcessor>();
-
- public ComponentContextServlet() {
- contextScriptProcessors.add(new JSONRPCScripProcessor());
- }
-
- @Override
- public void init(ServletConfig servletConfig) throws ServletException {
- this.servletContext = servletConfig.getServletContext();
- if (attributes.size() > 0) {
- for (String name : attributes.keySet()) {
- servletContext.setAttribute(name, attributes.get(name));
- }
- }
- }
-
- @Override
- public void doGet(HttpServletRequest req, HttpServletResponse response) throws IOException {
- response.setContentType("text/plain;charset=utf-8");
- PrintWriter out = response.getWriter();
-
- out.write(HEADER);
-
- doScriptInit(req, response);
-
- doScriptReferences(req, response);
-
- out.write(FOOTER);
-
- out.flush();
- out.close();
- }
-
- /**
- * Calls each ContextScriptProcessor once to insert any required initilization code into componentContext.js
- */
- protected void doScriptInit(HttpServletRequest req, HttpServletResponse response) throws IOException, UnsupportedEncodingException {
-
- PrintWriter out = response.getWriter();
-
- out.println("if (SCA == undefined) var SCA = new Object();");
- out.println("if (SCA.componentContext == undefined) {");
- out.println(" SCA.componentContext = new Object();");
- out.println(" SCA.componentContext.serviceNames = [];");
- out.println(" SCA.componentContext.serviceProxys = [];");
- out.println(" SCA.componentContext.getService = function(serviceName){");
- out.println(" var i = SCA.componentContext.serviceNames.indexOf(serviceName);");
- out.println(" return SCA.componentContext.serviceProxys[i];");
- out.println(" };");
- out.println(" if (componentContext == undefined) var componentContext = SCA.componentContext;");
- out.println("}");
-
- for (ContextScriptProcessor csp : contextScriptProcessors) {
- csp.scriptInit(req, response);
- }
- }
-
- /**
- * Calls each ContextScriptProcessor for each SCA reference to insert code for the reference into componentContext.js
- */
- protected void doScriptReferences(HttpServletRequest req, HttpServletResponse response) throws IOException, UnsupportedEncodingException {
-
- PrintWriter out = response.getWriter();
-
- out.write("// SCA References\n");
-
- RuntimeComponent component = (RuntimeComponent)servletContext.getAttribute("org.apache.tuscany.sca.implementation.web.RuntimeComponent");
-
- for (ComponentReference cr : component.getReferences()) {
- String ref = "// SCA Reference " + cr.getName() + "\n";
- out.write(ref);
- for (ContextScriptProcessor csp : contextScriptProcessors) {
- csp.scriptReference(cr, req, response);
- }
- }
-
- out.write("\n// SCA References end.\n");
- }
-
- /**
- * Calls each ContextScriptProcessor for each SCA property to insert code for the property into componentContext.js
- */
- protected void doScriptProperties(HttpServletRequest req, HttpServletResponse response) throws IOException, UnsupportedEncodingException {
- // TODO: support properties
- }
-
- /**
- * Set an attribute on the ServletContext
- */
- public void setAttribute(String name, Object value) {
- if (servletContext != null) {
- servletContext.setAttribute(name, value);
- } else {
- attributes.put(name, value);
- }
- }
-
- public void addContextScriptProcessor(ContextScriptProcessor csp) {
- contextScriptProcessors.add(csp);
- }
-}
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java b/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java
deleted file mode 100644
index 02c99debb0..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web;
-
-import java.io.IOException;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-
-public interface ContextScriptProcessor {
- void scriptInit(HttpServletRequest req, HttpServletResponse response) throws IOException;
- void scriptReference(ComponentReference cr, HttpServletRequest req, HttpServletResponse response) throws IOException;
-}
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java b/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java
deleted file mode 100644
index 6d3f590309..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web;
-
-
-public interface ContextScriptProcessorExtensionPoint {
-
- void addContextScriptProcessor(ContextScriptProcessor csp);
-
-}
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java b/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java
deleted file mode 100644
index 89b951e7d2..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-public class DefaultContextScriptProcessorExtensionPoint implements ContextScriptProcessorExtensionPoint {
-
- protected ComponentContextServlet componentContextServlet;
- protected List<ContextScriptProcessor> tempCSPHolder = new ArrayList<ContextScriptProcessor>();
-
- public DefaultContextScriptProcessorExtensionPoint() {
- }
-
- public void addContextScriptProcessor(ContextScriptProcessor csp) {
- if (componentContextServlet != null) {
- componentContextServlet.addContextScriptProcessor(csp);
- } else {
- tempCSPHolder.add(csp);
- }
- }
-
- public void setComponentContextServlet(ComponentContextServlet servlet) {
- componentContextServlet = servlet;
- if (tempCSPHolder.size() > 0) {
- for (ContextScriptProcessor csp : tempCSPHolder) {
- componentContextServlet.addContextScriptProcessor(csp);
- }
- }
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java b/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java
deleted file mode 100644
index e4ec0d71f9..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-
-public class JSONRPCScripProcessor implements ContextScriptProcessor {
-
- public void scriptInit(HttpServletRequest req, HttpServletResponse response) throws IOException {
- PrintWriter out = response.getWriter();
- InputStream is = getClass().getClassLoader().getResourceAsStream("jsonrpc.js");
- if (is != null) {
- int i;
- while ((i = is.read()) != -1) {
- out.write(i);
- }
- }
-
- out.println();
- }
-
- public void scriptReference(ComponentReference cr, HttpServletRequest req, HttpServletResponse response) throws IOException {
- for (Binding b : cr.getBindings()) {
- if ("org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding".equals(b.getClass().getName())) {
- PrintWriter out = response.getWriter();
- out.println("SCA.componentContext.serviceNames.push('" + cr.getName() + "');");
- out.println("SCA.componentContext.serviceProxys.push(new JSONRpcClient('" + cr.getReference().getTargets().get(0).getName() + "').Service);");
- }
- }
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java b/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java
deleted file mode 100644
index 59afe23fa4..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web.runtime;
-
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.osoa.sca.CallableReference;
-import org.osoa.sca.ComponentContext;
-import org.osoa.sca.RequestContext;
-import org.osoa.sca.ServiceReference;
-
-/**
- * Proxy ComponentContext wrappering a RuntimeComponent as the
- * RuntimeComponent ComponentContext has not been created till later
- */
-public class ComponentContextProxy implements ComponentContext {
-
- protected RuntimeComponent runtimeComponent;
-
- public ComponentContextProxy(RuntimeComponent runtimeComponent) {
- this.runtimeComponent = runtimeComponent;
- }
-
- protected ComponentContext getComponentContext() {
- return runtimeComponent.getComponentContext();
- }
-
- @SuppressWarnings("unchecked")
- public <B, R extends CallableReference<B>> R cast(B arg0) throws IllegalArgumentException {
- return (R) getComponentContext().cast(arg0);
- }
-
- public <B> ServiceReference<B> createSelfReference(Class<B> arg0) {
- return getComponentContext().createSelfReference(arg0);
- }
-
- public <B> ServiceReference<B> createSelfReference(Class<B> arg0, String arg1) {
- return getComponentContext().createSelfReference(arg0, arg1);
- }
-
- public <B> B getProperty(Class<B> arg0, String arg1) {
- return getComponentContext().getProperty(arg0, arg1);
- }
-
- public RequestContext getRequestContext() {
- return getComponentContext().getRequestContext();
- }
-
- public <B> B getService(Class<B> arg0, String arg1) {
- return getComponentContext().getService(arg0, arg1);
- }
-
- public <B> ServiceReference<B> getServiceReference(Class<B> arg0, String arg1) {
- return getComponentContext().getServiceReference(arg0, arg1);
- }
-
- public String getURI() {
- return getComponentContext().getURI();
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java b/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java
deleted file mode 100644
index 2518ba5381..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web.runtime;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.ComponentContextServlet;
-import org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.DefaultContextScriptProcessorExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-public class WebImplementationProviderFactory implements ImplementationProviderFactory<WebImplementation> {
-
- private ServletHost servletHost;
- private ComponentContextServlet contextServlet;
-
- public WebImplementationProviderFactory(ExtensionPointRegistry extensionPoints) {
- ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
- List<ServletHost> hosts = servletHosts.getServletHosts();
- if (!hosts.isEmpty()) {
- this.servletHost = hosts.get(0);
- }
-
- contextServlet = new ComponentContextServlet();
-
- DefaultContextScriptProcessorExtensionPoint dcspep = (DefaultContextScriptProcessorExtensionPoint)extensionPoints.getExtensionPoint(ContextScriptProcessorExtensionPoint.class);
- dcspep.setComponentContextServlet(contextServlet);
- }
-
- public ImplementationProvider createImplementationProvider(RuntimeComponent component, WebImplementation implementation) {
-
- servletHost.addServletMapping("org.osoa.sca.componentContext.js", contextServlet);
- contextServlet.setAttribute("org.osoa.sca.ComponentContext", new ComponentContextProxy(component));
- contextServlet.setAttribute("org.apache.tuscany.sca.implementation.web.RuntimeComponent", component);
-
- return new ImplementationProvider() {
- public Invoker createInvoker(RuntimeComponentService arg0, Operation arg1) {
- throw new UnsupportedOperationException("Components using implementation.web have no services");
- }
- public void start() {
- }
- public void stop() {
- }
- public boolean supportsOneWayInvocation() {
- return false;
- }
- };
- }
-
- public Class<WebImplementation> getModelType() {
- return WebImplementation.class;
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld b/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld
deleted file mode 100644
index 4807ba517a..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version = '1.0' encoding = 'ISO-8859-1'?>
-<!--
- * 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.
- -->
-
-<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd">
-
-<taglib version="2.1">
-
- <tlib-version>1.0</tlib-version>
- <short-name>SCA-JSP</short-name>
- <uri>http://www.osog.org/sca/sca.tld</uri>
- <description>A tag library for integrating sca components with jsp</description>
-
- <tag>
-
- <name>reference</name>
-
- <tag-class>org.apache.tuscany.sca.implementation.web.taglib.ReferenceTag</tag-class>
- <tei-class>org.apache.tuscany.sca.implementation.web.taglib.ReferenceTEI</tei-class>
-
- <attribute>
- <name>name</name>
- <required>true</required>
- <type>java.lang.String</type>
- </attribute>
-
- <attribute>
- <name>type</name>
- <required>true</required>
- <type>java.lang.String</type>
- </attribute>
-
- <attribute>
- <name>scope</name>
- <required>false</required>
- <type>java.lang.Integer</type>
- </attribute>
-
- <body-content>empty</body-content>
-
- </tag>
-
-</taglib>
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint b/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint
deleted file mode 100644
index 960ae30552..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-# Implementation class for the ModuleActivator
-org.apache.tuscany.sca.implementation.web.DefaultContextScriptProcessorExtensionPoint
-
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
deleted file mode 100644
index 9b769c9b10..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the implementation extension
-org.apache.tuscany.sca.implementation.web.runtime.WebImplementationProviderFactory;model=org.apache.tuscany.sca.implementation.web.WebImplementation
diff --git a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/jsonrpc.js b/branches/sca-android/modules/implementation-web-runtime/src/main/resources/jsonrpc.js
deleted file mode 100644
index 8eb477c2e5..0000000000
--- a/branches/sca-android/modules/implementation-web-runtime/src/main/resources/jsonrpc.js
+++ /dev/null
@@ -1,493 +0,0 @@
-/*
- * JSON-RPC JavaScript client
- *
- * $Id: jsonrpc.js,v 1.36.2.3 2006/03/08 15:09:37 mclark Exp $
- *
- * Copyright (c) 2003-2004 Jan-Klaas Kollhof
- * Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd
- *
- * This code is based on Jan-Klaas' JavaScript o lait library (jsolait).
- *
- * 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.
- *
- */
-
-/*
- * Modifications for Apache Tuscany:
- * - JSONRpcClient_createMethod changed so callback is last arg
- */
-
-/* escape a character */
-
-escapeJSONChar =
-function escapeJSONChar(c)
-{
- if(c == "\"" || c == "\\") return "\\" + c;
- else if (c == "\b") return "\\b";
- else if (c == "\f") return "\\f";
- else if (c == "\n") return "\\n";
- else if (c == "\r") return "\\r";
- else if (c == "\t") return "\\t";
- var hex = c.charCodeAt(0).toString(16);
- if(hex.length == 1) return "\\u000" + hex;
- else if(hex.length == 2) return "\\u00" + hex;
- else if(hex.length == 3) return "\\u0" + hex;
- else return "\\u" + hex;
-};
-
-
-/* encode a string into JSON format */
-
-escapeJSONString =
-function escapeJSONString(s)
-{
- /* The following should suffice but Safari's regex is b0rken
- (doesn't support callback substitutions)
- return "\"" + s.replace(/([^\u0020-\u007f]|[\\\"])/g,
- escapeJSONChar) + "\"";
- */
-
- /* Rather inefficient way to do it */
- var parts = s.split("");
- for(var i=0; i < parts.length; i++) {
- var c =parts[i];
- if(c == '"' ||
- c == '\\' ||
- c.charCodeAt(0) < 32 ||
- c.charCodeAt(0) >= 128)
- parts[i] = escapeJSONChar(parts[i]);
- }
- return "\"" + parts.join("") + "\"";
-};
-
-
-/* Marshall objects to JSON format */
-
-toJSON = function toJSON(o)
-{
- if(o == null) {
- return "null";
- } else if(o.constructor == String) {
- return escapeJSONString(o);
- } else if(o.constructor == Number) {
- return o.toString();
- } else if(o.constructor == Boolean) {
- return o.toString();
- } else if(o.constructor == Date) {
- return '{javaClass: "java.util.Date", time: ' + o.valueOf() +'}';
- } else if(o.constructor == Array) {
- var v = [];
- for(var i = 0; i < o.length; i++) v.push(toJSON(o[i]));
- return "[" + v.join(", ") + "]";
- } else {
- var v = [];
- for(attr in o) {
- if(o[attr] == null) v.push("\"" + attr + "\": null");
- else if(typeof o[attr] == "function"); /* skip */
- else v.push(escapeJSONString(attr) + ": " + toJSON(o[attr]));
- }
- return "{" + v.join(", ") + "}";
- }
-};
-
-
-/* JSONRpcClient constructor */
-
-JSONRpcClient =
-function JSONRpcClient_ctor(serverURL, user, pass, objectID)
-{
- this.serverURL = serverURL;
- this.user = user;
- this.pass = pass;
- this.objectID = objectID;
-
- /* Add standard methods */
- if(this.objectID) {
- this._addMethods(["listMethods"]);
- var req = this._makeRequest("listMethods", []);
- } else {
- this._addMethods(["system.listMethods"]);
- var req = this._makeRequest("system.listMethods", []);
- }
- var m = this._sendRequest(req);
- this._addMethods(m);
-};
-
-
-/* JSONRpcCLient.Exception */
-
-JSONRpcClient.Exception =
-function JSONRpcClient_Exception_ctor(code, message, javaStack)
-{
- this.code = code;
- var name;
- if(javaStack) {
- this.javaStack = javaStack;
- var m = javaStack.match(/^([^:]*)/);
- if(m) name = m[0];
- }
- if(name) this.name = name;
- else this.name = "JSONRpcClientException";
- this.message = message;
-};
-
-JSONRpcClient.Exception.CODE_REMOTE_EXCEPTION = 490;
-JSONRpcClient.Exception.CODE_ERR_CLIENT = 550;
-JSONRpcClient.Exception.CODE_ERR_PARSE = 590;
-JSONRpcClient.Exception.CODE_ERR_NOMETHOD = 591;
-JSONRpcClient.Exception.CODE_ERR_UNMARSHALL = 592;
-JSONRpcClient.Exception.CODE_ERR_MARSHALL = 593;
-
-JSONRpcClient.Exception.prototype = new Error();
-
-JSONRpcClient.Exception.prototype.toString =
-function JSONRpcClient_Exception_toString(code, msg)
-{
- return this.name + ": " + this.message;
-};
-
-
-/* Default top level exception handler */
-
-JSONRpcClient.default_ex_handler =
-function JSONRpcClient_default_ex_handler(e) { alert(e); };
-
-
-/* Client settable variables */
-
-JSONRpcClient.toplevel_ex_handler = JSONRpcClient.default_ex_handler;
-JSONRpcClient.profile_async = false;
-JSONRpcClient.max_req_active = 1;
-JSONRpcClient.requestId = 1;
-
-
-/* JSONRpcClient implementation */
-
-JSONRpcClient.prototype._createMethod =
-function JSONRpcClient_createMethod(methodName)
-{
- var fn=function()
- {
- var args = [];
- var callback = null;
- for(var i=0;i<arguments.length;i++) args.push(arguments[i]);
-
-/* TUSCANY change callback to be last arg instead of first to match binding.ajax
- if(typeof args[0] == "function") callback = args.shift();
-*/
- if(typeof args[arguments.length-1] == "function") callback = args.pop();
-
- var req = fn.client._makeRequest.call(fn.client, fn.methodName,
- args, callback);
- if(callback == null) {
- return fn.client._sendRequest.call(fn.client, req);
- } else {
- JSONRpcClient.async_requests.push(req);
- JSONRpcClient.kick_async();
- return req.requestId;
- }
- };
- fn.client = this;
- fn.methodName = methodName;
- return fn;
-};
-
-JSONRpcClient.prototype._addMethods =
-function JSONRpcClient_addMethods(methodNames)
-{
- for(var i=0; i<methodNames.length; i++) {
- var obj = this;
- var names = methodNames[i].split(".");
- for(var n=0; n<names.length-1; n++) {
- var name = names[n];
- if(obj[name]) {
- obj = obj[name];
- } else {
- obj[name] = new Object();
- obj = obj[name];
- }
- }
- var name = names[names.length-1];
- if(!obj[name]) {
- var method = this._createMethod(methodNames[i]);
- obj[name] = method;
- }
- }
-};
-
-JSONRpcClient._getCharsetFromHeaders =
-function JSONRpcClient_getCharsetFromHeaders(http)
-{
- try {
- var contentType = http.getResponseHeader("Content-type");
- var parts = contentType.split(/\s*;\s*/);
- for(var i =0; i < parts.length; i++) {
- if(parts[i].substring(0, 8) == "charset=")
- return parts[i].substring(8, parts[i].length);
- }
- } catch (e) {}
- return "UTF-8"; /* default */
-};
-
-/* Async queue globals */
-JSONRpcClient.async_requests = [];
-JSONRpcClient.async_inflight = {};
-JSONRpcClient.async_responses = [];
-JSONRpcClient.async_timeout = null;
-JSONRpcClient.num_req_active = 0;
-
-JSONRpcClient._async_handler =
-function JSONRpcClient_async_handler()
-{
- JSONRpcClient.async_timeout = null;
-
- while(JSONRpcClient.async_responses.length > 0) {
- var res = JSONRpcClient.async_responses.shift();
- if(res.canceled) continue;
- if(res.profile) res.profile.dispatch = new Date();
- try {
- res.cb(res.result, res.ex, res.profile);
- } catch(e) {
- JSONRpcClient.toplevel_ex_handler(e);
- }
- }
-
- while(JSONRpcClient.async_requests.length > 0 &&
- JSONRpcClient.num_req_active < JSONRpcClient.max_req_active) {
- var req = JSONRpcClient.async_requests.shift();
- if(req.canceled) continue;
- req.client._sendRequest.call(req.client, req);
- }
-};
-
-JSONRpcClient.kick_async =
-function JSONRpcClient_kick_async()
-{
- if(JSONRpcClient.async_timeout == null)
- JSONRpcClient.async_timeout =
- setTimeout(JSONRpcClient._async_handler, 0);
-};
-
-JSONRpcClient.cancelRequest =
-function JSONRpcClient_cancelRequest(requestId)
-{
- /* If it is in flight then mark it as canceled in the inflight map
- and the XMLHttpRequest callback will discard the reply. */
- if(JSONRpcClient.async_inflight[requestId]) {
- JSONRpcClient.async_inflight[requestId].canceled = true;
- return true;
- }
-
- /* If its not in flight yet then we can just mark it as canceled in
- the the request queue and it will get discarded before being sent. */
- for(var i in JSONRpcClient.async_requests) {
- if(JSONRpcClient.async_requests[i].requestId == requestId) {
- JSONRpcClient.async_requests[i].canceled = true;
- return true;
- }
- }
-
- /* It may have returned from the network and be waiting for its callback
- to be dispatched, so mark it as canceled in the response queue
- and the response will get discarded before calling the callback. */
- for(var i in JSONRpcClient.async_responses) {
- if(JSONRpcClient.async_responses[i].requestId == requestId) {
- JSONRpcClient.async_responses[i].canceled = true;
- return true;
- }
- }
-
- return false;
-};
-
-JSONRpcClient.prototype._makeRequest =
-function JSONRpcClient_makeRequest(methodName, args, cb)
-{
- var req = {};
- req.client = this;
- req.requestId = JSONRpcClient.requestId++;
-
- var obj = {};
- obj.id = req.requestId;
- if (this.objectID)
- obj.method = ".obj#" + this.objectID + "." + methodName;
- else
- obj.method = methodName;
- obj.params = args;
-
- if (cb) req.cb = cb;
- if (JSONRpcClient.profile_async)
- req.profile = { "submit": new Date() };
- req.data = toJSON(obj);
-
- return req;
-};
-
-JSONRpcClient.prototype._sendRequest =
-function JSONRpcClient_sendRequest(req)
-{
- if(req.profile) req.profile.start = new Date();
-
- /* Get free http object from the pool */
- var http = JSONRpcClient.poolGetHTTPRequest();
- JSONRpcClient.num_req_active++;
-
- /* Send the request */
- if (typeof(this.user) == "undefined") {
- http.open("POST", this.serverURL, (req.cb != null));
- } else {
- http.open("POST", this.serverURL, (req.cb != null), this.user, this.pass);
- }
-
- /* setRequestHeader is missing in Opera 8 Beta */
- try { http.setRequestHeader("Content-type", "text/plain"); } catch(e) {}
-
- /* Construct call back if we have one */
- if(req.cb) {
- var self = this;
- http.onreadystatechange = function() {
- if(http.readyState == 4) {
- http.onreadystatechange = function () {};
- var res = { "cb": req.cb, "result": null, "ex": null};
- if (req.profile) {
- res.profile = req.profile;
- res.profile.end = new Date();
- }
- try { res.result = self._handleResponse(http); }
- catch(e) { res.ex = e; }
- if(!JSONRpcClient.async_inflight[req.requestId].canceled)
- JSONRpcClient.async_responses.push(res);
- delete JSONRpcClient.async_inflight[req.requestId];
- JSONRpcClient.kick_async();
- }
- };
- } else {
- http.onreadystatechange = function() {};
- }
-
- JSONRpcClient.async_inflight[req.requestId] = req;
-
- try {
- http.send(req.data);
- } catch(e) {
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
- throw new JSONRpcClient.Exception
- (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");
- }
-
- if(!req.cb) return this._handleResponse(http);
-};
-
-JSONRpcClient.prototype._handleResponse =
-function JSONRpcClient_handleResponse(http)
-{
- /* Get the charset */
- if(!this.charset) {
- this.charset = JSONRpcClient._getCharsetFromHeaders(http);
- }
-
- /* Get request results */
- var status, statusText, data;
- try {
- status = http.status;
- statusText = http.statusText;
- data = http.responseText;
- } catch(e) {
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
- JSONRpcClient.kick_async();
- throw new JSONRpcClient.Exception
- (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");
- }
-
- /* Return http object to the pool; */
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
-
- /* Unmarshall the response */
- if(status != 200) {
- throw new JSONRpcClient.Exception(status, statusText);
- }
- var obj;
- try {
- eval("obj = " + data);
- } catch(e) {
- throw new JSONRpcClient.Exception(550, "error parsing result");
- }
- if(obj.error)
- throw new JSONRpcClient.Exception(obj.error.code, obj.error.msg,
- obj.error.trace);
- var res = obj.result;
-
- /* Handle CallableProxy */
- if(res && res.objectID && res.JSONRPCType == "CallableReference")
- return new JSONRpcClient(this.serverURL, this.user,
- this.pass, res.objectID);
-
- return res;
-};
-
-
-/* XMLHttpRequest wrapper code */
-
-/* XMLHttpRequest pool globals */
-JSONRpcClient.http_spare = [];
-JSONRpcClient.http_max_spare = 8;
-
-JSONRpcClient.poolGetHTTPRequest =
-function JSONRpcClient_pool_getHTTPRequest()
-{
- if(JSONRpcClient.http_spare.length > 0) {
- return JSONRpcClient.http_spare.pop();
- }
- return JSONRpcClient.getHTTPRequest();
-};
-
-JSONRpcClient.poolReturnHTTPRequest =
-function JSONRpcClient_poolReturnHTTPRequest(http)
-{
- if(JSONRpcClient.http_spare.length >= JSONRpcClient.http_max_spare)
- delete http;
- else
- JSONRpcClient.http_spare.push(http);
-};
-
-JSONRpcClient.msxmlNames = [ "MSXML2.XMLHTTP.5.0",
- "MSXML2.XMLHTTP.4.0",
- "MSXML2.XMLHTTP.3.0",
- "MSXML2.XMLHTTP",
- "Microsoft.XMLHTTP" ];
-
-JSONRpcClient.getHTTPRequest =
-function JSONRpcClient_getHTTPRequest()
-{
- /* Mozilla XMLHttpRequest */
- try {
- JSONRpcClient.httpObjectName = "XMLHttpRequest";
- return new XMLHttpRequest();
- } catch(e) {}
-
- /* Microsoft MSXML ActiveX */
- for (var i=0;i < JSONRpcClient.msxmlNames.length; i++) {
- try {
- JSONRpcClient.httpObjectName = JSONRpcClient.msxmlNames[i];
- return new ActiveXObject(JSONRpcClient.msxmlNames[i]);
- } catch (e) {}
- }
-
- /* None found */
- JSONRpcClient.httpObjectName = null;
- throw new JSONRpcClient.Exception(0, "Can't create XMLHttpRequest object");
-};
-
diff --git a/branches/sca-android/modules/implementation-web/LICENSE b/branches/sca-android/modules/implementation-web/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/implementation-web/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/implementation-web/META-INF/README b/branches/sca-android/modules/implementation-web/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/implementation-web/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/implementation-web/NOTICE b/branches/sca-android/modules/implementation-web/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/implementation-web/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/implementation-web/pom.xml b/branches/sca-android/modules/implementation-web/pom.xml
deleted file mode 100644
index 8bb8546f26..0000000000
--- a/branches/sca-android/modules/implementation-web/pom.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-implementation-web</artifactId>
- <name>Apache Tuscany SCA Web Implementation Model</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.web</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.implementation.web*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java b/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java
deleted file mode 100644
index 86af3d7204..0000000000
--- a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-
-
-
-/**
- * The model representing an Web implementation in an SCA assembly model.
- */
-public interface WebImplementation extends Implementation {
-
- /**
- * Returns the webapp URI.
- * @return the webapp URI
- */
- String getWebURI();
-
- /**
- * Sets the Webapp URI.
- * @param uri the webapp URI
- */
- void setWebURI(String webappURI);
-
-}
diff --git a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java b/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java
deleted file mode 100644
index 0cb80de03e..0000000000
--- a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web;
-
-
-/**
- * Factory for the Web implementation model.
- */
-public interface WebImplementationFactory {
-
- /**
- * Creates a new Web implementation.
- * @return a new Web implementation
- */
- WebImplementation createWebImplementation();
-
-}
diff --git a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java b/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java
deleted file mode 100644
index 744fefc39b..0000000000
--- a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web.impl;
-
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.implementation.web.WebImplementationFactory;
-
-/**
- * Factory for the Web implementation model.
- */
-public class WebImplementationFactoryImpl implements WebImplementationFactory {
-
- public WebImplementationFactoryImpl() {
- }
-
- public WebImplementation createWebImplementation() {
- return new WebImplementationImpl();
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java b/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java
deleted file mode 100644
index e64069cec1..0000000000
--- a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web.impl;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.builder.ComponentPreProcessor;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-
-/**
- * The model representing an Web implementation in an SCA assembly model.
- */
-class WebImplementationImpl implements WebImplementation, ComponentPreProcessor {
-
- private List<Property> properties = new ArrayList<Property>();
- private List<Reference> references = new ArrayList<Reference>();
- private String uri;
- private boolean unresolved;
-
- private String webURI;
-
- /**
- * Constructs a new Web implementation.
- */
- WebImplementationImpl() {
- }
-
- public ConstrainingType getConstrainingType() {
- // The Web implementation does not support constrainingTypes
- return null;
- }
-
- public List<Property> getProperties() {
- return properties;
- }
-
- public List<Service> getServices() {
- // The Web implementation does not offer services
- return Collections.emptyList();
- }
-
- public List<Reference> getReferences() {
- return references;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // The Web implementation does not support constrainingTypes
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-
- public String getWebURI() {
- return webURI;
- }
-
- public void setWebURI(String webURI) {
- this.webURI = webURI;
- }
-
- /**
- * Use preProcess to add any references dynamically
- * TODO: also support introspection and handle WEB-INF/web.componentType (spec line 503)
- */
- public void preProcess(Component component) {
- if (!(component instanceof RuntimeComponent)) {
- return;
- }
- RuntimeComponent rtc = (RuntimeComponent) component;
-
- for (Reference reference : rtc.getReferences()) {
- if (getReference(reference.getName()) == null) {
- getReferences().add(createReference(reference));
- }
- }
- }
-
- protected Reference getReference(String name) {
- for (Reference reference : getReferences()) {
- if (reference.getName().equals(name)) {
- return reference;
- }
- }
- return null;
- }
-
- protected Reference createReference(Reference reference) {
- Reference newReference;
- try {
- newReference = (Reference)reference.clone();
- } catch (CloneNotSupportedException e) {
- throw new AssertionError(e); // should not ever happen
- }
- return newReference;
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java b/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java
deleted file mode 100644
index d4a0ab7ef1..0000000000
--- a/branches/sca-android/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.implementation.web.WebImplementationFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-
-/**
- * Implements a StAX artifact processor for Web implementations.
- */
-public class WebImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<WebImplementation> {
- private static final QName IMPLEMENTATION_WEB = new QName(Constants.SCA10_NS, "implementation.web");
-
- private AssemblyFactory assemblyFactory;
- private WebImplementationFactory implementationFactory;
- private Monitor monitor;
-
- public WebImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
- this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- this.implementationFactory = modelFactories.getFactory(WebImplementationFactory.class);
- this.monitor = monitor;
- }
-
- public QName getArtifactType() {
- // Returns the QName of the XML element processed by this processor
- return IMPLEMENTATION_WEB;
- }
-
- public Class<WebImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return WebImplementation.class;
- }
-
- public WebImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
- // Read an <implementation.web> element
- WebImplementation implementation = implementationFactory.createWebImplementation();
- implementation.setUnresolved(true);
-
- // Read the webapp uri attribute
- String webURI = getString(reader, "web-uri");
- if (webURI != null) {
- implementation.setWebURI(webURI);
-
- // Set the URI of the component type
- implementation.setURI(webURI);
- }
-
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_WEB.equals(reader.getName())) {
- break;
- }
- }
-
- return implementation;
- }
-
- public void resolve(WebImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
-
- // Resolve the component type
- String uri = implementation.getURI();
- if (uri != null) {
- ComponentType componentType = assemblyFactory.createComponentType();
- componentType.setURI(uri + ".componentType");
- componentType = resolver.resolveModel(ComponentType.class, componentType);
- if (!componentType.isUnresolved()) {
-
- // Initialize the implementation's services, references and properties
- implementation.getServices().addAll(componentType.getServices());
- implementation.getReferences().addAll(componentType.getReferences());
- implementation.getProperties().addAll(componentType.getProperties());
- }
- }
- implementation.setUnresolved(false);
- }
-
- public void write(WebImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- // Write <implementation.web>
- writeStart(writer, IMPLEMENTATION_WEB.getNamespaceURI(), IMPLEMENTATION_WEB.getLocalPart(),
- new XAttr("web-uri", implementation.getWebURI()));
-
- writeEnd(writer);
- }
-}
diff --git a/branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 3f1e888e16..0000000000
--- a/branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.implementation.web.xml.WebImplementationProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#implementation.web,model=org.apache.tuscany.sca.implementation.web.WebImplementation,factory=org.apache.tuscany.sca.implementation.web.WebImplementationFactory
diff --git a/branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory b/branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory
deleted file mode 100644
index d54fe9fcee..0000000000
--- a/branches/sca-android/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for model factory
-org.apache.tuscany.sca.implementation.web.impl.WebImplementationFactoryImpl
diff --git a/branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java b/branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java
deleted file mode 100644
index 10a7df7ae5..0000000000
--- a/branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web.xml;
-
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
-
-/**
- * Test reading Web implementations.
- */
-public class ReadTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
- private CompositeBuilder compositeBuilder;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
-
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class);
- IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
- compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null);
- }
-
- public void testReadComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestWeb.composite");
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- Composite composite = (Composite) staxProcessor.read(reader);
- assertNotNull(composite);
-
- compositeBuilder.build(composite);
-
- assertTrue(((WebImplementation) composite.getComponents().get(0).getImplementation()).getWebURI().equals("MyWebapp"));
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java b/branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java
deleted file mode 100644
index 723672270d..0000000000
--- a/branches/sca-android/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.implementation.web.xml;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-
-/**
- * Test reading/write Web implementations.
- */
-public class WriteTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private XMLOutputFactory outputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- outputFactory = XMLOutputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
- }
-
- public void testReadWriteComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestWeb.composite");
- Composite composite = (Composite) staxProcessor.read(inputFactory.createXMLStreamReader(is));
- assertNotNull(composite);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
-
- assertTrue(bos.toString().contains("web-uri=\"MyWebapp\""));
-
- }
-
-}
diff --git a/branches/sca-android/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite b/branches/sca-android/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite
deleted file mode 100644
index 181de3772b..0000000000
--- a/branches/sca-android/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample/web"
- xmlns:sc="http://sample/composite"
- name="TestWeb">
-
- <component name="TestWeb">
- <implementation.web web-uri="MyWebapp"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/node-launcher-osgi/LICENSE b/branches/sca-android/modules/node-launcher-osgi/LICENSE
deleted file mode 100644
index 6e529a25c4..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/node-launcher-osgi/META-INF/README b/branches/sca-android/modules/node-launcher-osgi/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/node-launcher-osgi/NOTICE b/branches/sca-android/modules/node-launcher-osgi/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/node-launcher-osgi/pom.xml b/branches/sca-android/modules/node-launcher-osgi/pom.xml
deleted file mode 100644
index d5754530c9..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/pom.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-node-launcher-osgi</artifactId>
- <name>Apache Tuscany SCA Node OSGi Launcher</name>
-
- <dependencies>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version> <!-- To be compatible with Jetty 6 -->
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.framework</artifactId>
- <version>1.0.4</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.felix</groupId>
- <artifactId>javax.servlet</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-node-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extensibility-osgi</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-osgi</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-domain-manager</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-http-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.0</version>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>process-test-resources</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <includeScope>test</includeScope>
- <outputDirectory>${project.build.directory}/tuscany/modules</outputDirectory>
- <overWriteReleases>true</overWriteReleases>
- <overWriteSnapshots>true</overWriteSnapshots>
- <excludeArtifactIds></excludeArtifactIds>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>org.apache.tuscany.sca.node.osgi.launcher.NodeMain</mainClass>
- </manifest>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.node.launcher.osgi</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.node.osgi.launcher*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java
deleted file mode 100644
index 0214d5185f..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-/**
- * Represents an SCA contribution uri + location.
- *
- * @version $Rev$ $Date$
- */
-public final class Contribution {
- private String uri;
- private String location;
-
- /**
- * Constructs a new SCA contribution.
- *
- * @param uri
- * @param location
- */
- public Contribution(String uri, String location) {
- this.uri = uri;
- this.location = location;
- }
-
- public String getURI() {
- return uri;
- }
-
- public String getLocation() {
- return location;
- }
-} \ No newline at end of file
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java
deleted file mode 100644
index f94c43bd52..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import static org.apache.tuscany.sca.node.osgi.launcher.NodeLauncherUtil.domainManager;
-
-import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Simple launcher for the SCA domain manager.
- *
- * @version $Rev$ $Date$
- */
-public class DomainManagerLauncher {
-
- private static final Logger logger = Logger.getLogger(DomainManagerLauncher.class.getName());
-
- /**
- * Constructs a new DomainManagerLauncher.
- */
- private DomainManagerLauncher() {
- }
-
- /**
- * Returns a new launcher instance.
- *
- * @return a new launcher instance
- */
- public static DomainManagerLauncher newInstance() {
- return new DomainManagerLauncher();
- }
-
- /**
- * Creates a new DomainManager.
- *
- * @return a new DomainManager
- * @throws LauncherException
- */
- public <T> T createDomainManager() throws LauncherException {
- return (T)domainManager(".");
- }
-
- /**
- * Creates a new DomainManager.
- *
- * @param rootDirectory the domain's root configuration directory
- *
- * @return a new DomainManager
- * @throws LauncherException
- */
- public <T> T createDomainManager(String rootDirectory) throws LauncherException {
- return (T)domainManager(rootDirectory);
- }
-
- public static void main(String[] args) throws Exception {
- logger.info("Apache Tuscany SCA Domain Manager starting...");
-
- // Create a domain manager
- DomainManagerLauncher launcher = newInstance();
- OSGiHost host = NodeLauncherUtil.startOSGi();
- try {
-
- Object domainManager = launcher.createDomainManager();
-
- // Start the domain manager
- try {
- domainManager.getClass().getMethod("start").invoke(domainManager);
- } catch (Exception e) {
- logger.log(Level.SEVERE, "SCA Domain Manager could not be started", e);
- throw e;
- }
- logger.info("SCA Domain Manager started.");
-
- logger.info("Press enter to shutdown.");
- try {
- System.in.read();
- } catch (IOException e) {
- }
-
- // Stop the domain manager
- try {
- domainManager.getClass().getMethod("stop").invoke(domainManager);
- } catch (Exception e) {
- logger.log(Level.SEVERE, "SCA Domain Manager could not be stopped", e);
- throw e;
- }
- } finally {
- NodeLauncherUtil.stopOSGi(host);
- }
- }
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java
deleted file mode 100644
index 5e4a0ed338..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.felix.framework.Felix;
-import org.apache.felix.framework.cache.BundleCache;
-import org.apache.felix.framework.util.FelixConstants;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-/**
- *
- */
-public class FelixOSGiHost implements OSGiHost {
-
- private Felix felix;
- private LauncherBundleActivator activator;
- //private ClassLoader tccl;
-
- private final static String systemPackages =
- "org.osgi.framework; version=1.3.0," + "org.osgi.service.packageadmin; version=1.2.0, "
- + "org.osgi.service.startlevel; version=1.0.0, "
- + "org.osgi.service.url; version=1.0.0, "
- + "org.osgi.util.tracker; version=1.3.2, "
- + "javax.xml, "
- + "javax.xml.datatype, "
- + "javax.xml.namespace, "
- + "javax.xml.parsers, "
- + "javax.xml.transform, "
- + "javax.xml.transform.dom, "
- + "javax.xml.transform.sax, "
- + "javax.xml.transform.stream, "
- + "javax.xml.validation, "
- + "javax.xml.xpath, "
- // Force the classes to be imported from the system bundle
- // + "javax.xml.stream, "
- // + "javax.xml.stream.util, "
- + "javax.sql,"
- + "org.w3c.dom, "
- + "org.xml.sax, "
- + "org.xml.sax.ext, "
- + "org.xml.sax.helpers, "
- + "javax.security.auth, "
- + "javax.security.cert, "
- + "javax.security.auth.login, "
- + "javax.security.auth.callback, "
- + "javax.naming, "
- + "javax.naming.spi, "
- + "javax.naming.directory, "
- + "javax.management, "
- + "javax.imageio, "
- + "sun.misc, "
- + "javax.net, "
- + "javax.net.ssl, "
- + "javax.crypto, "
- + "javax.rmi, "
- + "javax.transaction, "
- + "javax.transaction.xa";
-
- public LauncherBundleActivator getActivator() {
- if (activator == null) {
- activator = new LauncherBundleActivator();
- }
- return activator;
- }
-
- public void setActivator(LauncherBundleActivator activator) {
- this.activator = activator;
- }
-
- public BundleContext start() {
- try {
- startup();
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- BundleContext bundleContext = felix.getBundleContext();
- return bundleContext;
- }
-
- public void stop() {
- try {
- shutdown();
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
-
- private void startup() throws BundleException {
- if (felix != null) {
- throw new IllegalStateException("Felix is already running.");
- }
-
- // Create a configuration property map.
- Map<String, String> configMap = new HashMap<String, String>();
- // Configure the Felix instance to be embedded.
- configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true");
- // Add core OSGi packages to be exported from the class path
- // via the system bundle.
- configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES, systemPackages);
- // Explicitly specify the directory to use for caching bundles.
- configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "target/.felix");
- List<BundleActivator> list = new ArrayList<BundleActivator>();
-
- list.add(getActivator());
-
- // Now create an instance of the framework with
- // our configuration properties and activator.
- felix = new Felix(configMap, list);
-
- // Now start Felix instance.
- felix.start();
-
- //tccl = Thread.currentThread().getContextClassLoader();
- //Thread.currentThread().setContextClassLoader(getContextClassLoader(felix.getBundleContext()));
-
- }
-
- private ClassLoader getContextClassLoader(BundleContext bundleContext) {
- for (Bundle b : bundleContext.getBundles()) {
- if ("org.apache.tuscany.sca.extensibility.osgi".equals(b.getSymbolicName())) {
- try {
- b.start();
- Class<?> discovererClass = b.loadClass("org.apache.tuscany.sca.extensibility.ServiceDiscovery");
- Method getInstance = discovererClass.getMethod("getInstance");
- Object instance = getInstance.invoke(null);
- Method getter = discovererClass.getMethod("getServiceDiscoverer");
- Object discoverer = getter.invoke(instance);
-
- Method getCL = discoverer.getClass().getMethod("getContextClassLoader");
- ClassLoader cl = (ClassLoader)getCL.invoke(discoverer);
- return cl;
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- }
- return null;
- }
-
- private void shutdown() throws BundleException {
- if (felix != null) {
- felix.stopAndWait();
- }
- //Thread.currentThread().setContextClassLoader(tccl);
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java
deleted file mode 100644
index 38c7093a16..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.logging.Logger;
-
-/**
- *
- */
-public class JarFileFinder {
- /**
- * A file name filter used to filter JAR files.
- */
- static class StandAloneJARFileNameFilter implements FilenameFilter {
-
- public boolean accept(File dir, String name) {
- name = name.toLowerCase();
-
- // Exclude tuscany-sca-all and tuscany-sca-manifest as they duplicate
- // code in the individual runtime module JARs
- if (name.startsWith("tuscany-sca-all")) {
- return false;
- }
- if (name.startsWith("tuscany-sca-manifest")) {
- return false;
- }
-
- // Filter out the Tomcat and Webapp hosts
- if (name.startsWith("tuscany-host-tomcat") || name.startsWith("tuscany-host-webapp")) {
- //FIXME This is temporary
- return false;
- }
-
- // Include JAR and MAR files
- if (name.endsWith(".jar")) {
- return true;
- }
- if (name.endsWith(".mar")) {
- return true;
- }
- return false;
- }
- }
-
- /**
- * A file name filter used to filter JAR files.
- */
- static class WebAppJARFileNameFilter extends StandAloneJARFileNameFilter {
-
- public boolean accept(File dir, String name) {
- if (!super.accept(dir, name)) {
- return false;
- }
- name = name.toLowerCase();
-
- // Exclude servlet-api JARs
- if (name.startsWith("servlet-api")) {
- return false;
- }
-
- // Exclude the Tomcat and Jetty hosts
- if (name.startsWith("tuscany-host-tomcat") || name.startsWith("tuscany-host-jetty")) {
- //FIXME This is temporary
- return false;
- }
-
- return true;
- }
- }
-
- private static final Logger logger = Logger.getLogger(JarFileFinder.class.getName());
-
- static final String TUSCANY_HOME = "TUSCANY_HOME";
- private static final String TUSCANY_PATH = "TUSCANY_PATH";
-
- /**
- * Collect JAR files in the given directory
- * @param directory
- * @param urls
- * @param filter
- * @throws MalformedURLException
- */
- private static void collectJARFiles(File directory, List<URL> urls, FilenameFilter filter)
- throws MalformedURLException {
- String[] files = directory.list(filter);
- if (files != null) {
- URL directoryURL = new URL(directory.toURI().toString() + "/");
- int count = 0;
- for (String file : files) {
- URL url = new URL(directoryURL, file);
- urls.add(url);
- count++;
- }
- if (count != 0) {
- logger.fine("Runtime classpath: " + count
- + " JAR"
- + (count > 1 ? "s" : "")
- + " from "
- + directory.toString());
- }
- }
- }
-
- /**
- * Collect JAR files under the given directory.
- *
- * @param directory
- * @param jarDirectoryURLs
- * @param jarURLs
- * @param filter
- * @throws MalformedURLException
- */
- private static void collectJARFiles(String directory,
- Set<URL> jarDirectoryURLs,
- List<URL> jarURLs,
- FilenameFilter filter) throws MalformedURLException {
- File directoryFile = new File(directory);
- URL directoryURL = directoryFile.toURI().toURL();
- if (!jarDirectoryURLs.contains(directoryURL) && directoryFile.exists()) {
-
- // Collect files under $TUSCANY_HOME
- jarDirectoryURLs.add(directoryURL);
- collectJARFiles(directoryFile, jarURLs, filter);
-
- // Collect files under $TUSCANY_HOME/modules
- File modulesDirectory = new File(directoryFile, "modules");
- URL modulesDirectoryURL = modulesDirectory.toURI().toURL();
- if (!jarDirectoryURLs.contains(modulesDirectoryURL) && modulesDirectory.exists()) {
- jarDirectoryURLs.add(modulesDirectoryURL);
- collectJARFiles(modulesDirectory, jarURLs, filter);
- }
-
- // Collect files under $TUSCANY_HOME/lib
- File libDirectory = new File(directoryFile, "lib");
- URL libDirectoryURL = libDirectory.toURI().toURL();
- if (!jarDirectoryURLs.contains(libDirectoryURL) && libDirectory.exists()) {
- jarDirectoryURLs.add(libDirectoryURL);
- collectJARFiles(libDirectory, jarURLs, filter);
- }
- }
- }
-
- /**
- * Returns a ClassLoader for the Tuscany runtime JARs.
- *
- * @param parentClassLoader
- * @param filter
- *
- * @return
- */
- public static List<URL> findJarFiles(File root, FilenameFilter filter) throws FileNotFoundException,
- URISyntaxException, MalformedURLException {
-
- // Build list of runtime JARs
- Set<URL> jarDirectoryURLs = new HashSet<URL>();
- List<URL> jarURLs = new ArrayList<URL>();
-
- URL url = null;
- if (root != null) {
- url = root.toURI().toURL();
- } else {
- // First determine the path to the launcher class
- String resource = JarFileFinder.class.getName().replace('.', '/') + ".class";
- url = JarFileFinder.class.getClassLoader().getResource(resource);
- if (url == null) {
- throw new FileNotFoundException(resource);
- }
-
- url = getContainer(url, resource);
- }
- URI uri = url.toURI();
-
- // If the launcher class is in a JAR, add all runtime JARs from directory containing
- // that JAR (e.g. the Tuscany modules directory) as well as the ../modules and
- // ../lib directories
- if (url != null && "file".equals(url.getProtocol())) {
-
- File file = new File(uri);
- if (file.exists()) {
- File jarDirectory = file.getParentFile();
- if (jarDirectory != null && jarDirectory.exists()) {
-
- // Collect JAR files from the directory containing the input JAR
- // (e.g. the Tuscany modules directory)
- URL jarDirectoryURL = jarDirectory.toURI().toURL();
- jarDirectoryURLs.add(jarDirectoryURL);
- collectJARFiles(jarDirectory, jarURLs, filter);
-
- File homeDirectory = jarDirectory.getParentFile();
- if (homeDirectory != null && homeDirectory.exists()) {
-
- // Collect JARs from the ../modules directory
- File modulesDirectory = new File(homeDirectory, "modules");
- URL modulesDirectoryURL = modulesDirectory.toURI().toURL();
- if (!jarDirectoryURLs.contains(modulesDirectoryURL) && modulesDirectory.exists()) {
- jarDirectoryURLs.add(modulesDirectoryURL);
- collectJARFiles(modulesDirectory, jarURLs, filter);
- }
-
- // Collect JARs from the ../lib directory
- File libDirectory = new File(homeDirectory, "lib");
- URL libDirectoryURL = libDirectory.toURI().toURL();
- if (!jarDirectoryURLs.contains(libDirectoryURL) && libDirectory.exists()) {
- jarDirectoryURLs.add(libDirectoryURL);
- collectJARFiles(libDirectory, jarURLs, filter);
- }
- }
- }
- }
- }
-
- // Look for a TUSCANY_HOME system property or environment variable
- // Add all the JARs found under $TUSCANY_HOME, $TUSCANY_HOME/modules
- // and $TUSCANY_HOME/lib
- String home = getProperty(TUSCANY_HOME);
- if (home != null && home.length() != 0) {
- logger.fine(TUSCANY_HOME + ": " + home);
- collectJARFiles(home, jarDirectoryURLs, jarURLs, filter);
- }
-
- // Look for a TUSCANY_PATH system property or environment variable
- // Add all the JARs found under $TUSCANY_PATH, $TUSCANY_PATH/modules
- // and $TUSCANY_PATH/lib
- String ext = getProperty(TUSCANY_PATH);
- if (ext != null && ext.length() != 0) {
- logger.fine(TUSCANY_PATH + ": " + ext);
- String separator = getProperty("path.separator");
- for (StringTokenizer tokens = new StringTokenizer(ext, separator); tokens.hasMoreTokens();) {
- collectJARFiles(tokens.nextToken(), jarDirectoryURLs, jarURLs, filter);
- }
- }
-
- return jarURLs;
-
- }
-
- static String getProperty(final String prop) {
- return AccessController.doPrivileged(new PrivilegedAction<String>() {
- public String run() {
- String value = System.getProperty(prop);
- if (value == null || value.length() == 0) {
- return System.getenv(prop);
- } else {
- return value;
- }
- }
- });
- }
-
- private static File toFile(URL url) {
- if (url == null || !url.getProtocol().equals("file")) {
- return null;
- } else {
- String filename = url.getFile().replace('/', File.separatorChar);
- int pos = 0;
- while ((pos = filename.indexOf('%', pos)) >= 0) {
- if (pos + 2 < filename.length()) {
- String hexStr = filename.substring(pos + 1, pos + 3);
- char ch = (char)Integer.parseInt(hexStr, 16);
- filename = filename.substring(0, pos) + ch + filename.substring(pos + 3);
- }
- }
- return new File(filename);
- }
- }
-
- private static URL getContainer(URL resourceURL, String resourceName) {
- URL root = null;
- // "jar:file://....../something.jar!/a/b/c/app.composite"
- try {
- String url = resourceURL.toExternalForm();
- String protocol = resourceURL.getProtocol();
- if ("file".equals(protocol)) {
- // directory contribution
- if (url.endsWith("/" + resourceName)) {
- final String location = url.substring(0, url.length() - resourceName.length() - 1);
- // workaround from evil URL/URI form Maven
- // contributionURL = FileHelper.toFile(new URL(location)).toURI().toURL();
- // Allow privileged access to open URL stream. Add FilePermission to added to
- // security policy file.
- try {
- root = AccessController.doPrivileged(new PrivilegedExceptionAction<URL>() {
- public URL run() throws IOException {
- return toFile(new URL(location)).toURI().toURL();
- }
- });
- } catch (PrivilegedActionException e) {
- throw (MalformedURLException)e.getException();
- }
- }
-
- } else if ("jar".equals(protocol)) {
- // jar contribution
- String location = url.substring(4, url.lastIndexOf("!/"));
- // workaround for evil URL/URI from Maven
- root = toFile(new URL(location)).toURI().toURL();
-
- } else if ("wsjar".equals(protocol)) {
- // See https://issues.apache.org/jira/browse/TUSCANY-2219
- // wsjar contribution
- String location = url.substring(6, url.lastIndexOf("!/"));
- // workaround for evil url/uri from maven
- root = toFile(new URL(location)).toURI().toURL();
-
- } else if (protocol != null && (protocol.equals("bundle") || protocol.equals("bundleresource"))) {
- root = new URL(resourceURL.getProtocol(), resourceURL.getHost(), resourceURL.getPort(), "/");
- }
- } catch (MalformedURLException mfe) {
- throw new IllegalArgumentException(mfe);
- }
- return root;
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java
deleted file mode 100644
index 13af11238e..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java
+++ /dev/null
@@ -1,457 +0,0 @@
-package org.apache.tuscany.sca.node.osgi.launcher;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URL;
-import java.security.CodeSource;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Manifest;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.zip.ZipEntry;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleEvent;
-import org.osgi.framework.BundleListener;
-import org.osgi.framework.Constants;
-
-/**
- * Bundle activator which installs Tuscany modules and 3rd party jars into an OSGi runtime.
- *
- */
-public class LauncherBundleActivator implements BundleActivator, Constants, BundleListener {
- private static Logger logger = Logger.getLogger(LauncherBundleActivator.class.getName());
- private static final String[] immutableJars = {"bcprov"};
-
- private BundleContext bundleContext;
- private List<Bundle> tuscanyBundles = new ArrayList<Bundle>();
-
- private List<URL> jarFiles;
-
- public LauncherBundleActivator() {
- super();
- }
-
- public LauncherBundleActivator(List<URL> jarFiles) {
- super();
- this.jarFiles = jarFiles;
- }
-
- public static String toString(Bundle b, boolean verbose) {
- StringBuffer sb = new StringBuffer();
- sb.append(b.getBundleId()).append(" ").append(b.getSymbolicName());
- int s = b.getState();
- if ((s & Bundle.UNINSTALLED) != 0) {
- sb.append(" UNINSTALLED");
- }
- if ((s & Bundle.INSTALLED) != 0) {
- sb.append(" INSTALLED");
- }
- if ((s & Bundle.RESOLVED) != 0) {
- sb.append(" RESOLVED");
- }
- if ((s & Bundle.STARTING) != 0) {
- sb.append(" STARTING");
- }
- if ((s & Bundle.STOPPING) != 0) {
- sb.append(" STOPPING");
- }
- if ((s & Bundle.ACTIVE) != 0) {
- sb.append(" ACTIVE");
- }
-
- if (verbose) {
- sb.append(" ").append(b.getLocation());
- sb.append(" ").append(b.getHeaders());
- }
- return sb.toString();
- }
-
- public void start(BundleContext bundleContext) throws Exception {
- this.bundleContext = bundleContext;
- this.bundleContext.addBundleListener(this);
- installTuscany(bundleContext);
-
- for (Bundle b : bundleContext.getBundles()) {
- try {
- if ("org.apache.tuscany.sca.contribution.osgi".equals(b.getSymbolicName())) {
- b.start();
- logger.info(toString(b, false) + " " + b.getState());
- break;
- }
- } catch (Exception e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
- }
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
- /*
- for (Bundle bundle : tuscanyBundles) {
- try {
- bundle.stop();
- } catch (Exception e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
- }
- */
-
- for (Bundle bundle : tuscanyBundles) {
- try {
- if (logger.isLoggable(Level.FINE)) {
- logger.fine("Uninstalling bundle: " + toString(bundle, false));
- }
- bundle.uninstall();
- } catch (Exception e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
- }
- this.bundleContext.removeBundleListener(this);
- tuscanyBundles.clear();
- this.bundleContext = null;
- }
-
- public void installTuscany(BundleContext bundleContext) {
- long start = System.currentTimeMillis();
-
- try {
-
- // FIXME: SDO bundles dont have the correct dependencies
- System.setProperty("commonj.sdo.impl.HelperProvider", "org.apache.tuscany.sdo.helper.HelperProviderImpl");
- List<URL> urls = jarFiles;
- if (urls == null) {
- File tuscanyInstallDir = findTuscanyInstallDir(bundleContext.getBundle());
-
- urls = JarFileFinder.findJarFiles(tuscanyInstallDir, new JarFileFinder.StandAloneJARFileNameFilter());
- }
-
- for (URL url : urls) {
- File file = new File(url.toURI());
- if (file.getName().startsWith("org.apache.felix.") || file.getName().startsWith("org.osgi.")) {
- continue;
- }
- try {
- Bundle bundle = createAndInstallBundle(bundleContext, url);
- } catch (Exception e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
- }
-
- long end = System.currentTimeMillis();
- logger.info("Tuscany bundles are installed in " + (end - start) + " ms.");
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private File findTuscanyInstallDir(Bundle bundle) throws IOException {
- String tuscanyDirName = JarFileFinder.getProperty(JarFileFinder.TUSCANY_HOME);
- if (tuscanyDirName != null) {
- File tuscanyInstallDir = new File(tuscanyDirName);
- if (tuscanyInstallDir.exists() && tuscanyInstallDir.isDirectory())
- return tuscanyInstallDir;
- }
-
- String location = bundle.getLocation();
-
- if (location != null && location.startsWith("file:")) {
- File file = new File(URI.create(location));
- File tuscanyInstallDir = file.getParentFile();
- if (tuscanyInstallDir.exists() && tuscanyInstallDir.isDirectory())
- return tuscanyInstallDir;
- }
- if (this.getClass().getProtectionDomain() != null) {
- CodeSource codeSource = this.getClass().getProtectionDomain().getCodeSource();
- if (codeSource != null) {
- try {
- File tuscanyInstallDir = new File(codeSource.getLocation().toURI());
- if (tuscanyInstallDir.exists() && tuscanyInstallDir.isDirectory())
- return tuscanyInstallDir;
- } catch (Exception e) {
- // ignore
- }
- }
- }
- return null;
- }
-
- public Bundle createAndInstallBundle(BundleContext bundleContext, URL bundleFile) throws Exception {
- if (logger.isLoggable(Level.FINE)) {
- logger.fine("Installing bundle: " + bundleFile);
- }
- long start = System.currentTimeMillis();
-
- Manifest manifest = readManifest(bundleFile);
- boolean isOSGiBundle = manifest != null && manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME) != null;
-
- if (!isOSGiBundle) {
- manifest = updateBundleManifest(bundleFile, manifest);
- }
-
- String symbolicName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME);
- String version = manifest.getMainAttributes().getValue(BUNDLE_VERSION);
- Bundle bundle = findBundle(bundleContext, symbolicName, version);
- if (bundle != null) {
- if (logger.isLoggable(Level.FINE)) {
- logger.fine("Bundle is already installed: " + symbolicName);
- }
- return bundle;
- }
-
- String bundleLocation = bundleFile.toString();
- InputStream inStream = null;
- if (!isOSGiBundle) {
- // We need to repackage the bundle
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- JarOutputStream jarOut = new JarOutputStream(out, manifest);
-
- String classpath = manifest.getMainAttributes().getValue("Bundle-ClassPath");
- boolean embedded = classpath != null && !classpath.trim().equals(".");
- if (embedded) {
- addFileToJar(bundleFile, jarOut);
- } else {
- copyJar(bundleFile, jarOut);
- }
-
- jarOut.close();
- inStream = new ByteArrayInputStream(out.toByteArray());
- } else {
- // The file itself is already a bundle
- inStream = bundleFile.openStream();
- }
-
- try {
- bundle = bundleContext.installBundle(bundleLocation, inStream);
- if (logger.isLoggable(Level.FINE)) {
- logger.fine("Bundle installed in " + (System.currentTimeMillis() - start) + " ms: " + bundleLocation);
- }
- tuscanyBundles.add(bundle);
- return bundle;
- } finally {
- inStream.close();
- }
-
- }
-
- private Bundle findBundle(BundleContext bundleContext, String symbolicName, String version) {
- Bundle[] bundles = bundleContext.getBundles();
- if (version == null) {
- version = "0.0.0";
- }
- for (Bundle b : bundles) {
- String v = (String)b.getHeaders().get(BUNDLE_VERSION);
- if (v == null) {
- v = "0.0.0";
- }
- if (b.getSymbolicName().equals(symbolicName) && (version.equals("0.0.0") || v.equals(version))) {
- return b;
- }
- }
- return null;
- }
-
- private String getFileName(URL url) {
- String name = url.getPath();
- int index = name.lastIndexOf('/');
- return name.substring(index + 1);
- }
-
- private void addFileToJar(URL file, JarOutputStream jarOut) throws IOException {
- JarEntry ze = new JarEntry(getFileName(file));
- jarOut.putNextEntry(ze);
- InputStream inStream = file.openStream();
- copy(inStream, jarOut);
- inStream.close();
- }
-
- private void copy(InputStream in, OutputStream out) throws IOException {
- byte[] readBuf = new byte[4096];
- int bytesRead;
- while ((bytesRead = in.read(readBuf)) > 0) {
- out.write(readBuf, 0, bytesRead);
- }
- }
-
- private void copyJar(URL in, JarOutputStream jarOut) throws IOException {
- JarInputStream jarIn = new JarInputStream(in.openStream());
- ZipEntry ze;
- while ((ze = jarIn.getNextEntry()) != null) {
- // Skip the MANIFEST.MF
- if (ze.getName().equals("META-INF/MANIFEST.MF"))
- continue;
- jarOut.putNextEntry(ze);
- copy(jarIn, jarOut);
- }
- jarIn.close();
- }
-
- private Manifest readManifest(URL jarFile) throws IOException {
- JarInputStream jar = new JarInputStream(jarFile.openStream());
- // Read the Manifest from the jar file
- Manifest manifest = jar.getManifest();
- jar.close();
-
- if (manifest == null) {
- // Create a new one if no Manifest is found
- manifest = new Manifest();
- }
- return manifest;
- }
-
- private Manifest updateBundleManifest(URL jarFile, Manifest manifest) throws Exception {
-
- // Check if we have an associated .mf file
- String name = jarFile.toString();
- int index = name.lastIndexOf('.');
- if (index != -1) {
- URL mf = new URL(name.substring(0, index) + ".mf");
- try {
- InputStream in = mf.openStream();
- manifest.read(in);
- in.close();
- } catch (IOException e) {
- // Ignore
- }
- }
-
- String jarFileName = getFileName(jarFile);
- boolean isImmutableJar = false;
- for (String immutableJar : immutableJars) {
- if (jarFileName.startsWith(immutableJar)) {
- isImmutableJar = true;
- break;
- }
- }
-
- Attributes attributes = manifest.getMainAttributes();
- if (attributes.getValue(BUNDLE_SYMBOLICNAME) == null) {
- String bundleSymbolicName = jarFileName;
- if (bundleSymbolicName.endsWith(".jar")) {
- bundleSymbolicName = bundleSymbolicName.substring(0, bundleSymbolicName.length() - 4);
- }
- attributes.putValue(BUNDLE_SYMBOLICNAME, bundleSymbolicName);
- } else {
- // Assume the jar is already a bundle
- return null;
- }
-
- if (attributes.getValue("Manifest-Version") == null) {
- attributes.putValue("Manifest-Version", "1.0");
- }
-
- if (attributes.getValue(BUNDLE_MANIFESTVERSION) == null) {
- attributes.putValue(BUNDLE_MANIFESTVERSION, "2");
- }
-
- if (isImmutableJar && attributes.getValue(BUNDLE_CLASSPATH) == null) {
- attributes.putValue(BUNDLE_CLASSPATH, ".," + jarFileName);
- }
-
- JarInputStream jar = new JarInputStream(jarFile.openStream());
- HashSet<String> packages = getPackagesInJar(jarFileName, jar);
- jar.close();
- String version = getJarVersion(jarFileName);
-
- // attributes.remove(new Attributes.Name("Require-Bundle"));
- // attributes.remove(new Attributes.Name("Import-Package"));
-
- if (attributes.getValue(BUNDLE_VERSION) == null) {
- attributes.putValue(BUNDLE_VERSION, version);
- }
- // Existing export statements in bundles may contain versions, so they should be used as is
- // SDO exports are not sufficient, and should be changed
- if (attributes.getValue(EXPORT_PACKAGE) == null || jarFileName.startsWith("tuscany-sdo-impl")) {
- String pkgs = packagesToString(packages, version);
- if (pkgs.length() > 0) {
- attributes.putValue(EXPORT_PACKAGE, pkgs);
- attributes.putValue(IMPORT_PACKAGE, packagesToString(packages, null));
- }
- // attributes.putValue("Import-Package", packagesToString(packages, null));
- }
-
- attributes.putValue(DYNAMICIMPORT_PACKAGE, "*");
- return manifest;
- }
-
- private HashSet<String> getPackagesInJar(String bundleName, JarInputStream jar) throws Exception {
- HashSet<String> packages = new HashSet<String>();
- ZipEntry entry;
- while ((entry = jar.getNextEntry()) != null) {
- String entryName = entry.getName();
- if (!entry.isDirectory() && entryName != null && entryName.length() > 0 && !entryName.startsWith(".")
- // && !entryName.startsWith("META-INF")
- && entryName.lastIndexOf("/") > 0) {
- String pkg = entryName.substring(0, entryName.lastIndexOf("/")).replace('/', '.');
- packages.add(pkg);
-
- }
- }
- // FIXME: Split package
- if (bundleName.startsWith("axis2-adb")) {
- packages.remove("org.apache.axis2.util");
- } else if (bundleName.startsWith("axis2-codegen")) {
- packages.remove("org.apache.axis2.wsdl");
- packages.remove("org.apache.axis2.wsdl.util");
- } else if (bundleName.startsWith("bsf-all")) {
- packages.remove("org.mozilla.javascript");
- }
-
- return packages;
- }
-
- private String packagesToString(HashSet<String> packages, String version) {
-
- StringBuilder pkgBuf = new StringBuilder();
- for (String pkg : packages) {
- if (pkgBuf.length() > 0) {
- pkgBuf.append(',');
- }
- pkgBuf.append(pkg);
- if (version != null && !pkg.startsWith("META-INF.")) {
- pkgBuf.append(";version=\"");
- pkgBuf.append(version);
- pkgBuf.append('\"');
- }
- }
- return pkgBuf.toString();
- }
-
- private String getJarVersion(String bundleName) {
- Pattern pattern = Pattern.compile("-([0-9.]+)");
- Matcher matcher = pattern.matcher(bundleName);
- String version = "1.0.0";
- if (matcher.find()) {
- version = matcher.group();
- if (version.endsWith(".")) {
- version = version.substring(1, version.length() - 1);
- } else {
- version = version.substring(1);
- }
- }
- return version;
- }
-
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- public void bundleChanged(BundleEvent event) {
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java
deleted file mode 100644
index bf17222e34..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-
-/**
- * Denotes an error launching an SCA domain manager or node.
- *
- * @version $Rev$ $Date$
- */
-public class LauncherException extends Exception {
- private static final long serialVersionUID = 4581189418849190567L;
-
- public LauncherException() {
- super();
- }
-
- /**
- * @param message
- * @param cause
- */
- public LauncherException(String message, Throwable cause) {
- super(message, cause);
- }
-
- /**
- * @param message
- */
- public LauncherException(String message) {
- super(message);
- }
-
- /**
- * @param cause
- */
- public LauncherException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java
deleted file mode 100644
index f0e4e9da70..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import static org.apache.tuscany.sca.node.osgi.launcher.NodeLauncherUtil.nodeDaemon;
-
-import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * A launcher for the SCA Node daemon.
- *
- * @version $Rev$ $Date$
- */
-public class NodeDaemonLauncher {
-
- private static final Logger logger = Logger.getLogger(NodeDaemonLauncher.class.getName());
-
- /**
- * Constructs a new node daemon launcher.
- */
- private NodeDaemonLauncher() {
- }
-
- /**
- * Returns a new launcher instance.
- *
- * @return a new launcher instance
- */
- public static NodeDaemonLauncher newInstance() {
- return new NodeDaemonLauncher();
- }
-
- /**
- * Creates a new node daemon.
- *
- * @param
- * @return a new node daemon
- * @throws LauncherException
- */
- public <T> T createNodeDaemon() throws LauncherException {
- return (T)nodeDaemon();
- }
-
- public static void main(String[] args) throws Exception {
- logger.info("Apache Tuscany SCA Node Daemon starting...");
-
- // Create a node daemon
- NodeDaemonLauncher launcher = newInstance();
- OSGiHost host = NodeLauncherUtil.startOSGi();
-
- try {
- Object daemon = launcher.createNodeDaemon();
-
- // Start the node daemon
- try {
- daemon.getClass().getMethod("start").invoke(daemon);
- } catch (Exception e) {
- logger.log(Level.SEVERE, "SCA Node Daemon could not be started", e);
- throw e;
- }
- logger.info("SCA Node Daemon started.");
-
- logger.info("Press enter to shutdown.");
- try {
- System.in.read();
- } catch (IOException e) {
- }
-
- // Stop the node daemon
- try {
- daemon.getClass().getMethod("stop").invoke(daemon);
- } catch (Exception e) {
- logger.log(Level.SEVERE, "SCA Node Daemon could not be stopped", e);
- throw e;
- }
- } finally {
- NodeLauncherUtil.stopOSGi(host);
- }
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java
deleted file mode 100644
index ea487c384b..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import static org.apache.tuscany.sca.node.osgi.launcher.NodeLauncherUtil.node;
-
-import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * A launcher for SCA nodes.
- *
- * @version $Rev$ $Date$
- */
-public class NodeLauncher {
-
- static final Logger logger = Logger.getLogger(NodeLauncher.class.getName());
-
- /**
- * Constructs a new node launcher.
- */
- private NodeLauncher() {
- }
-
- /**
- * Returns a new launcher instance.
- *
- * @return a new launcher instance
- */
- public static NodeLauncher newInstance() {
- return new NodeLauncher();
- }
-
- /**
- * Creates a new SCA node from the configuration URL
- *
- * @param configurationURL the URL of the node configuration which is the ATOM feed
- * that contains the URI of the composite and a collection of URLs for the contributions
- *
- * @return a new SCA node.
- * @throws LauncherException
- */
- public <T> T createNodeFromURL(String configurationURL) throws LauncherException {
- return (T)node(configurationURL, null, null, null, null);
- }
-
- /**
- * Creates a new SCA OSGi Node.
- *
- * @param compositeURI the URI of the composite to use
- * @param contributions the URI of the contributions that provides the composites and related
- * artifacts. If the list is empty, then we will use the thread context classloader to discover
- * the contribution on the classpath
- *
- * @return a new SCA node.
- * @throws LauncherException
- */
- public <T> T createNode(String compositeURI, Contribution... contributions) throws LauncherException {
- return (T)node(null, compositeURI, null, contributions, null);
- }
-
- /**
- * Creates a new SCA OSGi Node.
- *
- * @param compositeURI the URI of the composite to use
- * @param compositeContent the XML content of the composite to use
- * @param contributions the URI of the contributions that provides the composites and related artifacts
- * @return a new SCA node.
- * @throws LauncherException
- */
- public <T> T createNode(String compositeURI, String compositeContent, Contribution... contributions)
- throws LauncherException {
- return (T)node(null, compositeURI, compositeContent, contributions, null);
- }
-
- /**
- * Create a SCA node based on the discovery of the contribution on the classpath for the
- * given classloader. This method should be treated a convenient shortcut with the following
- * assumptions:
- * <ul>
- * <li>This is a standalone application and there is a deployable composite file on the classpath.
- * <li>There is only one contribution which contains the deployable composite file physically in its packaging hierarchy.
- * </ul>
- *
- * @param compositeURI The URI of the composite file relative to the root of the enclosing contribution
- * @param classLoader The ClassLoader used to load the composite file as a resource. If the value is null,
- * then thread context classloader will be used
- * @return A newly created SCA node
- */
- public <T> T createNodeFromClassLoader(String compositeURI, ClassLoader classLoader) throws LauncherException {
- return (T)node(null, compositeURI, null, null, classLoader);
- }
-
- public static void main(String[] args) throws Exception {
- logger.info("Apache Tuscany SCA OSGi Node is starting...");
-
- // Create a node
- NodeLauncher launcher = newInstance();
-
- OSGiHost host = NodeLauncherUtil.startOSGi();
- try {
-
- Object node;
- if (args.length == 1) {
-
- // Create from a configuration URI
- String configurationURI = args[0];
- logger.info("SCA OSGi Node configuration: " + configurationURI);
- node = launcher.createNodeFromURL(configurationURI);
- } else {
-
- // Create from a composite URI and a contribution location
- String compositeURI = args[0];
- String contributionLocation = args[1];
- logger.info("SCA composite: " + compositeURI);
- logger.info("SCA contribution: " + contributionLocation);
- node = launcher.createNode(compositeURI, new Contribution("default", contributionLocation));
- }
-
- // Start the node
- try {
- node.getClass().getMethod("start").invoke(node);
- } catch (Exception e) {
- logger.log(Level.SEVERE, "SCA OSGi Node could not be started", e);
- throw e;
- }
- logger.info("SCA OSGi Node is now started.");
-
- logger.info("Press Enter to shutdown...");
- try {
- System.in.read();
- } catch (IOException e) {
- }
-
- // Stop the node
- try {
- node.getClass().getMethod("stop").invoke(node);
- } catch (Exception e) {
- logger.log(Level.SEVERE, "SCA OSGi Node could not be stopped", e);
- throw e;
- }
- } finally {
- NodeLauncherUtil.stopOSGi(host);
- }
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java
deleted file mode 100644
index 4a13c0a589..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import java.lang.reflect.Constructor;
-import java.util.logging.Level;
-
-/**
- * Common functions and constants used by the admin components.
- *
- * @version $Rev$ $Date$
- */
-final class NodeLauncherUtil {
- // private static final Logger logger = Logger.getLogger(NodeLauncherUtil.class.getName());
-
- private static final String DOMAIN_MANAGER_LAUNCHER_BOOTSTRAP =
- "org.apache.tuscany.sca.domain.manager.launcher.DomainManagerLauncherBootstrap";
-
- private static final String NODE_IMPLEMENTATION_DAEMON_BOOTSTRAP =
- "org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationDaemonBootstrap";
-
- private static final String NODE_IMPLEMENTATION_LAUNCHER_BOOTSTRAP =
- "org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationLauncherBootstrap";
-
- /**
- * Collect JAR files under the given directory.
- *
- * @p @param contributions
- * @throws LauncherException
- */
- static Object node(String configurationURI,
- String compositeURI,
- String compositeContent,
- Contribution[] contributions,
- ClassLoader contributionClassLoader) throws LauncherException {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
-
- // Use Java reflection to create the node as only the runtime class
- // loader knows the runtime classes required by the node
- String className = NODE_IMPLEMENTATION_LAUNCHER_BOOTSTRAP;
- Class<?> bootstrapClass;
- bootstrapClass = Class.forName(className, false, tccl);
-
- Object bootstrap;
- if (configurationURI != null) {
-
- // Construct the node with a configuration URI
- bootstrap = bootstrapClass.getConstructor(String.class).newInstance(configurationURI);
-
- } else if (contributionClassLoader != null) {
-
- // Construct the node with a compositeURI and a classloader
- Constructor<?> constructor = bootstrapClass.getConstructor(String.class, ClassLoader.class);
- bootstrap = constructor.newInstance(compositeURI, contributionClassLoader);
-
- } else if (compositeContent != null) {
-
- // Construct the node with a composite URI, the composite content and
- // the URIs and locations of a list of contributions
- Constructor<?> constructor =
- bootstrapClass.getConstructor(String.class, String.class, String[].class, String[].class);
- String[] uris = new String[contributions.length];
- String[] locations = new String[contributions.length];
- for (int i = 0; i < contributions.length; i++) {
- uris[i] = contributions[i].getURI();
- locations[i] = contributions[i].getLocation();
- }
- bootstrap = constructor.newInstance(compositeURI, compositeContent, uris, locations);
-
- } else {
-
- // Construct the node with a composite URI and the URIs and
- // locations of a list of contributions
- Constructor<?> constructor =
- bootstrapClass.getConstructor(String.class, String[].class, String[].class);
- String[] uris = new String[contributions.length];
- String[] locations = new String[contributions.length];
- for (int i = 0; i < contributions.length; i++) {
- uris[i] = contributions[i].getURI();
- locations[i] = contributions[i].getLocation();
- }
- bootstrap = constructor.newInstance(compositeURI, uris, locations);
- }
-
- Object node = bootstrapClass.getMethod("getNode").invoke(bootstrap);
- try {
- Class<?> type = Class.forName("org.apache.tuscany.sca.node.SCANodeFactory");
- type = type.getDeclaredClasses()[0];
- return type.getMethod("createProxy", Class.class, Object.class).invoke(null, type, node);
- } catch (ClassNotFoundException e) {
- // Ignore
- }
- return node;
-
- } catch (Exception e) {
- NodeLauncher.logger.log(Level.SEVERE, "SCA Node could not be created", e);
- throw new LauncherException(e);
- } finally {
- Thread.currentThread().setContextClassLoader(tccl);
- }
- }
-
- /**
- * Creates a new node daemon.
- *
- * @throws LauncherException
- */
- static Object nodeDaemon() throws LauncherException {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
-
- // Use Java reflection to create the node daemon as only the runtime class
- // loader knows the runtime classes required by the node
- String className = NODE_IMPLEMENTATION_DAEMON_BOOTSTRAP;
- Class<?> bootstrapClass;
- bootstrapClass = Class.forName(className, false, tccl);
- Object bootstrap = bootstrapClass.getConstructor().newInstance();
-
- Object nodeDaemon = bootstrapClass.getMethod("getNode").invoke(bootstrap);
- return nodeDaemon;
-
- } catch (Exception e) {
- NodeLauncher.logger.log(Level.SEVERE, "SCA Node Daemon could not be created", e);
- throw new LauncherException(e);
- } finally {
- Thread.currentThread().setContextClassLoader(tccl);
- }
- }
-
- /**
- * Creates a new domain manager.
- *
- * @throws LauncherException
- */
- static Object domainManager(String rootDirectory) throws LauncherException {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
-
- // Use Java reflection to create the node daemon as only the runtime class
- // loader knows the runtime classes required by the node
- String className = DOMAIN_MANAGER_LAUNCHER_BOOTSTRAP;
- Class<?> bootstrapClass;
- bootstrapClass = Class.forName(className, false, tccl);
- Constructor<?> constructor = bootstrapClass.getConstructor(String.class);
- Object bootstrap = constructor.newInstance(rootDirectory);
-
- Object domainManager = bootstrapClass.getMethod("getNode").invoke(bootstrap);
- return domainManager;
-
- } catch (Exception e) {
- NodeLauncher.logger.log(Level.SEVERE, "SCA Domain Manager could not be created", e);
- throw new LauncherException(e);
- } finally {
- Thread.currentThread().setContextClassLoader(tccl);
- }
- }
-
- static OSGiHost startOSGi() {
- OSGiHost host = new FelixOSGiHost();
- host.start();
- return host;
- }
-
- static void stopOSGi(OSGiHost host) {
- host.stop();
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java
deleted file mode 100644
index 445ea80786..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-
-/**
- * Main class for this JAR.
- * With no arguments this class launches the SCA Node Daemon.
- * With a "domain" argument it launches the SCA domain admin node.
- * With any other argument it launches an SCA Node.
- *
- * @version $Rev$ $Date$
- */
-public class NodeMain {
-
- public static void main(String[] args) throws Exception {
- if (args.length != 0) {
- if (args[0].equals("domain")) {
- DomainManagerLauncher.main(args);
- } else {
- NodeLauncher.main(args);
- }
- } else {
- NodeDaemonLauncher.main(args);
- }
- }
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java
deleted file mode 100644
index fcbe259dba..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-
-/**
- * A Servlet filter that forwards service requests to the Servlets registered with
- * the Tuscany ServletHost.
- *
- * @version $Rev$ $Date$
- */
-public class NodeServletFilter implements Filter {
- private static final String NODE_WEB_APP_SERVLET_HOST = "org.apache.tuscany.sca.implementation.node.osgi.webapp.NodeWebAppServletHost";
-
- private static final long serialVersionUID = 1L;
-
- private static final Logger logger = Logger.getLogger(NodeServletFilter.class.getName());
-
- private ClassLoader runtimeClassLoader;
- private Class<?> servletHostClass;
- private Object servletHost;
- private Filter filter;
-
- public void init(FilterConfig filterConfig) throws ServletException {
- logger.info("Apache Tuscany SCA WebApp Node starting...");
-
- try {
- // Get the Tuscany runtime ClassLoader
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
-
- try {
- if (runtimeClassLoader != null) {
- Thread.currentThread().setContextClassLoader(runtimeClassLoader);
- }
-
- // Load the Tuscany WebApp Servlet host and get the host instance
- // for the current webapp
- String className = NODE_WEB_APP_SERVLET_HOST;
- if (runtimeClassLoader != null) {
- servletHostClass = Class.forName(className, true, runtimeClassLoader);
- } else {
- servletHostClass = Class.forName(className);
- }
- servletHost = servletHostClass.getMethod("servletHost").invoke(null);
-
- // Initialize the Servlet host
- servletHostClass.getMethod("init", FilterConfig.class).invoke(servletHost, filterConfig);
-
- // The Servlet host also implements the filter interface
- filter = (Filter)servletHost;
-
- } finally {
- Thread.currentThread().setContextClassLoader(tccl);
- }
-
- } catch (Exception e) {
- logger.log(Level.SEVERE, "Error Starting SCA WebApp Node", e);
- throw new ServletException(e);
- }
-
- logger.info("SCA WebApp Node started.");
- }
-
- public void destroy() {
- logger.info("Apache Tuscany WebApp Node stopping...");
- if (servletHost != null) {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
- if (runtimeClassLoader != null) {
- Thread.currentThread().setContextClassLoader(runtimeClassLoader);
- }
-
- servletHostClass.getMethod("destroy").invoke(servletHost);
-
- } catch (Exception e) {
- logger.log(Level.SEVERE, "Error Stopping SCA WebApp Node", e);
- } finally {
- Thread.currentThread().setContextClassLoader(tccl);
- }
- }
- logger.info("SCA WebApp Node stopped.");
- }
-
- public void doFilter(ServletRequest request, ServletResponse response, javax.servlet.FilterChain chain)
- throws IOException, ServletException {
-
- // Delegate to the Servlet host filter
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
- if (runtimeClassLoader != null) {
- Thread.currentThread().setContextClassLoader(runtimeClassLoader);
- }
-
- filter.doFilter(request, response, chain);
-
- } finally {
- Thread.currentThread().setContextClassLoader(tccl);
- }
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java b/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java
deleted file mode 100644
index c5ea0439de..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import org.osgi.framework.BundleContext;
-
-/**
- * SPI to plug in OSGi implementations such as Equinox or Felix
- */
-public interface OSGiHost {
- BundleContext start();
- void stop();
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java b/branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java
deleted file mode 100644
index 2f519cb81d..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 hello;
-
-import org.osoa.sca.annotations.Remotable;
-
-/**
- * HelloWorld interface
- */
-@Remotable
-public interface HelloWorld {
- String hello(String name);
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java b/branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java
deleted file mode 100644
index c9a7560b12..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 hello;
-
-/**
- * HelloWorldImpl
- */
-public class HelloWorldImpl implements HelloWorld {
- public String hello(String name) {
- System.out.println("Hello: " + name);
- return "Hello, " + name;
- }
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java b/branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java
deleted file mode 100644
index e5194d0e5f..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import java.util.Dictionary;
-import java.util.Enumeration;
-
-import junit.framework.Assert;
-
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-
-/**
- *
- */
-public class FelixOSGiHostTestCase {
- @Test
- public void testStartThenStop() {
- FelixOSGiHost host = new FelixOSGiHost();
- BundleContext context = host.start();
- Assert.assertNotNull(context);
- for (Bundle b : context.getBundles()) {
- System.out.println(toString(b, false));
- }
- host.stop();
- }
-
- @Test
- public void testStartTwice() {
- FelixOSGiHost host = new FelixOSGiHost();
- host.start();
- try {
- host.start();
- Assert.fail();
- } catch (IllegalStateException e) {
- Assert.assertTrue(IllegalStateException.class.isInstance(e.getCause()));
- } finally {
- host.stop();
- }
- }
-
- public static String toString(Bundle b, boolean verbose) {
- StringBuffer sb = new StringBuffer();
- sb.append(b.getBundleId()).append(" ").append(b.getSymbolicName());
- int s = b.getState();
- if ((s & Bundle.UNINSTALLED) != 0) {
- sb.append(" UNINSTALLED");
- }
- if ((s & Bundle.INSTALLED) != 0) {
- sb.append(" INSTALLED");
- }
- if ((s & Bundle.RESOLVED) != 0) {
- sb.append(" RESOLVED");
- }
- if ((s & Bundle.STARTING) != 0) {
- sb.append(" STARTING");
- }
- if ((s & Bundle.STOPPING) != 0) {
- sb.append(" STOPPING");
- }
- if ((s & Bundle.ACTIVE) != 0) {
- sb.append(" ACTIVE");
- }
-
- sb.append(" ").append(b.getLocation());
- if (verbose) {
- Dictionary<Object, Object> dict = b.getHeaders();
- Enumeration<Object> keys = dict.keys();
- while (keys.hasMoreElements()) {
- Object key = keys.nextElement();
- sb.append(" ").append(key).append("=").append(dict.get(key));
- }
- }
- return sb.toString();
- }
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java b/branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java
deleted file mode 100644
index 97976e256a..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.node.osgi.launcher;
-
-import hello.HelloWorld;
-
-import org.apache.tuscany.sca.node.SCAClient;
-import org.apache.tuscany.sca.node.SCANode;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- *
- */
-public class NodeLauncherTestCase {
- private static OSGiHost host;
-
- @BeforeClass
- public static void setUp() {
- System.setProperty("TUSCANY_HOME", "target/tuscany");
- host = NodeLauncherUtil.startOSGi();
- }
-
- @AfterClass
- public static void tearDown() {
- if (host != null) {
- NodeLauncherUtil.stopOSGi(host);
- }
-
- }
-
- @Test
- public void testLaunch() throws Exception {
- NodeLauncher launcher = NodeLauncher.newInstance();
- SCANode node = launcher.createNodeFromClassLoader("HelloWorld.composite", getClass().getClassLoader());
- node.start();
-
- HelloWorld hw = ((SCAClient)node).getService(HelloWorld.class, "HelloWorld");
- hw.hello("OSGi");
-
- node.stop();
- }
-
- @Test
- @Ignore("contribution-osgi issue")
- public void testLaunchDomain() throws Exception {
- DomainManagerLauncher.main(new String[] {});
- }
-
-}
diff --git a/branches/sca-android/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite b/branches/sca-android/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite
deleted file mode 100644
index 9e3299d691..0000000000
--- a/branches/sca-android/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample/composite"
- xmlns:sc="http://sample/composite"
- name="HelloWorld">
-
- <component name="HelloWorld">
- <implementation.java class="hello.HelloWorldImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-android/modules/osgi-runtime/LICENSE b/branches/sca-android/modules/osgi-runtime/LICENSE
deleted file mode 100644
index 43e91eb0b0..0000000000
--- a/branches/sca-android/modules/osgi-runtime/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/osgi-runtime/META-INF/README b/branches/sca-android/modules/osgi-runtime/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/osgi-runtime/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/osgi-runtime/NOTICE b/branches/sca-android/modules/osgi-runtime/NOTICE
deleted file mode 100644
index 1325efd8bf..0000000000
--- a/branches/sca-android/modules/osgi-runtime/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/osgi-runtime/pom.xml b/branches/sca-android/modules/osgi-runtime/pom.xml
deleted file mode 100644
index 2b90e85d2d..0000000000
--- a/branches/sca-android/modules/osgi-runtime/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-osgi-runtime</artifactId>
- <name>Apache Tuscany OSGi Runtime Helper Library</name>
- <dependencies>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.main</artifactId>
- <version>1.0.4</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extensibility-osgi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.osgi.runtime
- </Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.osgi.runtime*
- </Export-Package>
- <Bundle-Activator>org.apache.tuscany.sca.osgi.runtime.OSGiBundleActivator
- </Bundle-Activator>
- <DynamicImport-Package>org.apache.felix.main,org.eclipse.core.runtime.adaptor
- </DynamicImport-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project> \ No newline at end of file
diff --git a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java b/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java
deleted file mode 100644
index 43101b14c9..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.osgi.runtime;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-import org.osgi.framework.BundleContext;
-
-/**
- * Implementation of an OSGi Runtime using Equinox.
- *
- * @version $Rev$ $Date$
- */
-public class EquinoxRuntime extends OSGiRuntime {
-
-
- private static BundleContext bundleContext;
-
- private static EquinoxRuntime instance;
-
- private static Class<?> eclipseStarterClass;
-
- public static OSGiRuntime getInstance() throws Exception {
- if (instance == null) {
- eclipseStarterClass = EquinoxRuntime.class.getClassLoader().loadClass("org.eclipse.core.runtime.adaptor.EclipseStarter");
- EquinoxRuntime runtime = new EquinoxRuntime();
- instance = runtime;
- }
- return instance;
- }
-
- @Override
- protected BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception {
-
- if (bundleContext != null)
- return bundleContext;
-
- Method startupMethod = eclipseStarterClass.getMethod("startup", String [].class, Runnable.class);
-
- // Equinox version 3.2 upwards have a startup method which returns BundleContext
- if (startupMethod.getReturnType() == BundleContext.class) {
- bundleContext = (BundleContext) startupMethod.invoke(null, new String[] {"-clean", "-console"}, null );
- }
- else {
-
- // Older versions of Equinox don't have a public method to obtain system bundlecontext
- // Extract bundleContext from the private field 'context'. We are assuming that
- // there is no access restriction
- Method mainMethod = eclipseStarterClass.getMethod("main", String [].class);
- mainMethod.invoke(null, (Object)new String[] {"-clean", "-console"});
-
- Field contextField = eclipseStarterClass.getDeclaredField("context");
- contextField.setAccessible(true);
- bundleContext = (BundleContext) contextField.get(null);
-
- }
-
-
- return bundleContext;
-
- }
-
- @Override
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- @Override
- protected void setBundleContext(BundleContext bundleContext) {
- super.setBundleContext(bundleContext);
- EquinoxRuntime.bundleContext = bundleContext;
- }
-
- @Override
- public void shutdown() throws Exception {
-
- if (bundleContext == null)
- return;
- bundleContext = null;
- instance = null;
- if (eclipseStarterClass != null) {
- Method shutdownMethod = eclipseStarterClass.getMethod("shutdown");
- try {
- shutdownMethod.invoke(eclipseStarterClass);
- } catch (Exception e) {
- // Ignore errors.
- }
- }
- super.shutdown();
- }
-
-
- @Override
- public boolean supportsBundleFragments() {
- return false;
- }
-
-
-
-}
diff --git a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java b/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java
deleted file mode 100644
index f8b56c88d6..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.osgi.runtime;
-
-import java.io.File;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Implementation of an OSGi Runtime using Felix.
- *
- * @version $Rev$ $Date$
- */
-public class FelixRuntime extends OSGiRuntime implements BundleActivator {
-
- private static BundleContext bundleContext;
-
- private static FelixRuntime instance;
-
- private static Class<?> felixMainClass;
- private static Class<?> felixClass;
- private static Object felix;
-
- public static OSGiRuntime getInstance() throws Exception {
- if (instance == null) {
- felixMainClass = FelixRuntime.class.getClassLoader().loadClass("org.apache.felix.main.Main");
- FelixRuntime runtime = new FelixRuntime();
- instance = runtime;
- }
- return instance;
- }
-
-
- private static void deleteDirectory(File dir) {
-
- File[] files = dir.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory())
- deleteDirectory(files[i]);
- else
- files[i].delete();
- }
- dir.delete();
-
- }
-
- @Override
- protected BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception {
-
- if (bundleContext != null)
- return bundleContext;
-
-
- ClassLoader cl = FelixRuntime.class.getClassLoader();
-
- felixClass = cl.loadClass("org.apache.felix.framework.Felix");
- Method propsMethod = felixMainClass.getMethod("loadConfigProperties");
- Properties props = (Properties)propsMethod.invoke(null);
-
- String profileDirName = ".felix";
- File targetDir = new File("target");
- if (targetDir.exists() && targetDir.isDirectory())
- profileDirName = "target/" + profileDirName;
- File profileDir = new File(profileDirName);
- if (profileDir.isDirectory())
- deleteDirectory(profileDir);
- else
- profileDir.delete();
- profileDir.mkdir();
- profileDir.deleteOnExit();
-
- props.put("felix.cache.profiledir", profileDir.getAbsolutePath());
- props.put("felix.embedded.execution", "true");
-
- String systemPackages =
- "org.osgi.framework; version=1.3.0," +
- "org.osgi.service.packageadmin; version=1.2.0, " +
- "org.osgi.service.startlevel; version=1.0.0, " +
- "org.osgi.service.url; version=1.0.0, " +
- "org.osgi.util.tracker; version=1.3.2, " +
- "javax.xml, " +
- "javax.xml.datatype, " +
- "javax.xml.namespace, " +
- "javax.xml.parsers, " +
- "javax.xml.transform, " +
- "javax.xml.transform.dom, " +
- "javax.xml.transform.sax, " +
- "javax.xml.transform.stream, " +
- "javax.xml.validation, " +
- "javax.xml.xpath, " +
- "org.apache.xerces.jaxp.datatype, " +
- "org.w3c.dom, " +
- "org.xml.sax, " +
- "org.xml.sax.ext, " +
- "org.xml.sax.helpers, " +
- "javax.security.auth, " +
- "javax.naming, " +
- "javax.naming.spi, " +
- "javax.naming.directory, " +
- "javax.management, " +
- "sun.misc";
-
-
- if (!tuscanyRunningInOSGiContainer) {
- systemPackages = systemPackages + ", org.osoa.sca.annotations, org.osoa.sca";
- systemPackages = systemPackages + ", commonj.sdo, commonj.sdo.helper, org.apache.tuscany.sdo.helper, org.apache.tuscany.sdo.impl, org.apache.tuscany.sdo.model, org.apache.tuscany.sdo.model.impl";
- systemPackages = systemPackages + ", org.eclipse.emf.ecore, org.eclipse.emf.ecore.util, org.eclipse.emf.ecore.impl";
- }
- props.put("org.osgi.framework.system.packages", systemPackages);
-
- try {
- Constructor felixConstructor = felixClass.getConstructor(Map.class, List.class);
- List<BundleActivator> activators = new ArrayList<BundleActivator>();
-
- Class<?> autoActivatorClass = cl.loadClass("org.apache.felix.main.AutoActivator");
- Constructor autoActivatorConstructor = autoActivatorClass.getConstructor(Map.class);
- BundleActivator autoActivator = (BundleActivator)autoActivatorConstructor.newInstance(props);
- activators.add(autoActivator);
-
- felix = felixConstructor.newInstance(props, activators);
- ((Bundle)felix).start();
- bundleContext = ((Bundle)felix).getBundleContext();
-
-
- } catch (Exception e) {
-
- // This is the older Felix API which has been retained temporarily to avoid build break
- // TODO: Remove these once Felix 1.0.0 is released.
-
- Class<?> propertyResolverClass = cl.loadClass("org.apache.felix.framework.util.MutablePropertyResolver");
- Class<?> propertyResolverImplClass = cl.loadClass("org.apache.felix.framework.util.MutablePropertyResolverImpl");
-
- Constructor implConstructor = propertyResolverImplClass.getConstructor(Map.class);
- Object mutableProps = implConstructor.newInstance(props);
-
-
- try {
- Constructor felixConstructor = felixClass.getConstructor(propertyResolverClass, List.class);
- List<BundleActivator> activators = new ArrayList<BundleActivator>();
- felix = felixConstructor.newInstance(mutableProps, activators);
- ((Bundle)felix).start();
- bundleContext = ((Bundle)felix).getBundleContext();
- } catch (Exception e1) {
-
-
- felix = felixClass.newInstance();
- Method startMethod = felixClass.getMethod("start", propertyResolverClass, List.class);
- List<BundleActivator> activators = new ArrayList<BundleActivator>();
- BundleActivator activator = new FelixRuntime();
- activators.add(activator);
- startMethod.invoke(felix, mutableProps, activators);
-
- synchronized (activator) {
- int retries = 0;
- while (bundleContext == null && retries++ < 10) {
- activator.wait(1000);
- }
- }
- }
- }
-
- return bundleContext;
-
- }
-
- public void start(BundleContext context) throws Exception {
-
- bundleContext = context;
- synchronized (this) {
- this.notify();
- }
- }
-
- public void stop(BundleContext context) throws Exception {
- bundleContext = null;
- }
-
-
-
- @Override
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- @Override
- protected void setBundleContext(BundleContext bundleContext) {
- super.setBundleContext(bundleContext);
- FelixRuntime.bundleContext = bundleContext;
- }
-
-
- @Override
- public void shutdown() throws Exception {
-
- if (bundleContext == null)
- return;
- bundleContext = null;
- instance = null;
-
- // We could potentially use Felix.stopAndWait, but use timed wait for now because
- // stopAndWait hangs with Felix 1.0.0
- if (felix instanceof Bundle) {
- Bundle felixBundle = (Bundle)felix;
- felixBundle.stop();
- int retries = 50;
- synchronized (felix) {
- while (retries-- > 0 && felixBundle.getState() != Bundle.UNINSTALLED) {
- felix.wait(100);
- }
- }
- }
- else if (felix != null) {
- Method shutdownMethod = felixClass.getMethod("shutdown");
- try {
- shutdownMethod.invoke(felix);
- } catch (Exception e) {
- // Ignore errors
- }
- felix = null;
- }
- super.shutdown();
- }
-
- @Override
- public boolean supportsBundleFragments() {
- return false;
- }
-
-}
diff --git a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java b/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java
deleted file mode 100644
index 19041daf50..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.osgi.runtime;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-
-/**
- * Implementation of an OSGi Runtime using Knopflerfish.
- *
- * @version $Rev$ $Date$
- */
-public class KnopflerfishRuntime extends OSGiRuntime {
-
- private static BundleContext bundleContext;
-
- private static KnopflerfishRuntime instance;
-
-
- private static Class<?> frameworkClass;
-
- private static Object framework;
-
- public static OSGiRuntime getInstance() throws Exception {
- if (instance == null) {
- frameworkClass = KnopflerfishRuntime.class.getClassLoader().loadClass("org.knopflerfish.framework.Framework");
- KnopflerfishRuntime runtime = new KnopflerfishRuntime();
- instance = runtime;
- }
- return instance;
- }
-
-
-
- // FIXME: Knopflerfish does not expose the methods used for configuration as public methods
- // It may be worth using the private methods in org.knopflerfish.framework.Main for
- // configuring using reflection if security policies allow it.
- // For now, a simple configuration routine reads sca.xargs from the directory in
- // the classpath which contains framework.jar. The entries in init.xargs starting with
- // -install are assumed to be single-line entries with full bundle location.
- //
- @Override
- protected BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception {
-
- if (bundleContext != null)
- return bundleContext;
-
-
-
- System.setProperty("org.knopflerfish.framework.bundlestorage", "memory");
-
- Constructor frameworkConstructor = frameworkClass.getConstructor(Object.class);
- framework = frameworkConstructor.newInstance(new KnopflerfishRuntime());
- Method launchMethod = frameworkClass.getMethod("launch", long.class);
- launchMethod.invoke(framework, 0);
- Method getContextMethod = frameworkClass.getMethod("getSystemBundleContext");
- bundleContext = (BundleContext)getContextMethod.invoke(framework);
-
- System.setProperty("com.gatespace.bundle.cm.store", "knopflerfish.store");
- File xargsFile = null;
- String classpath = System.getProperty("java.class.path");
- String[] classpathEntries = classpath.split(System.getProperty("path.separator"));
- for (int i = 0; i < classpathEntries.length; i++) {
- if (classpathEntries[i].endsWith("framework.jar")) {
- String path = classpathEntries[i].substring(0, classpathEntries[i].length() - "framework.jar".length());
- path = path + "sca.xargs";
- xargsFile = new File(path);
- if (!xargsFile.exists())
- xargsFile = null;
- break;
- }
- }
- if (xargsFile != null) {
- BufferedReader reader = new BufferedReader(new FileReader(xargsFile));
- String line;
- Hashtable<String, Bundle> bundles = new Hashtable<String, Bundle>();
- while ((line = reader.readLine()) != null) {
- line = line.trim();
- if (line.startsWith("-install")) {
- try {
-
- String bundleLocation = line.substring("-install".length()).trim();
- Bundle bundle = bundleContext.installBundle(bundleLocation);
- bundles.put(bundleLocation, bundle);
-
- } catch (BundleException e) {
- e.printStackTrace();
- }
-
- }
- if (line.startsWith("-start")) {
-
- try {
- String bundleLocation = line.substring("-start".length()).trim();
- Bundle bundle = bundles.get(bundleLocation);
- bundle.start();
- } catch (BundleException e) {
- e.printStackTrace();
- }
- }
- }
- }
-
-
- return bundleContext;
-
- }
-
- @Override
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- @Override
- protected void setBundleContext(BundleContext bundleContext) {
- super.setBundleContext(bundleContext);
- KnopflerfishRuntime.bundleContext = bundleContext;
- }
-
- @Override
- public void shutdown() throws Exception {
-
- if (bundleContext == null)
- return;
- bundleContext = null;
- instance = null;
- if (framework != null) {
- Method shutdownMethod = frameworkClass.getMethod("shutdown");
- try {
- shutdownMethod.invoke(framework);
- } catch (Exception e) {
- // Ignore errors
- }
- framework = null;
- }
- super.shutdown();
-
- }
-
- @Override
- public boolean supportsBundleFragments() {
- return true;
- }
-}
diff --git a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java b/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java
deleted file mode 100644
index b87f70deef..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.osgi.runtime;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
-import org.apache.tuscany.sca.extensibility.osgi.OSGiServiceDiscoverer;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleEvent;
-import org.osgi.framework.BundleListener;
-
-/**
- * OSGi bundle activator, which is run when Tuscany is run inside an OSGi runtime.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiBundleActivator implements BundleActivator, BundleListener {
-
- private static final String TUSCANY_SCA_BUNDLE_PREFIX = "org.apache.tuscany.sca";
- private static final String TUSCANY_3RD_PARTY_BUNDLE_PREFIX = "org.apache.tuscany.sca.3rdparty";
- private OSGiRuntime runtime;
- /*
- private ConcurrentHashMap<Bundle, ClassLoader> serviceDiscoveryClassLoaders =
- new ConcurrentHashMap<Bundle, ClassLoader>();
- */
- private BundleClassLoader threadContextClassLoader;
- private ClassLoader origTCCL;
- private Bundle thisBundle;
-
- public void start(BundleContext bundleContext) throws Exception {
-
- initializeTuscanyClassLoaders(bundleContext);
-
- runtime = OSGiRuntime.findRuntime();
- runtime.setBundleContext(bundleContext);
- runtime.setContextClassLoader(threadContextClassLoader);
- runtime.initialize();
-
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
-
- // runtime.shutdown();
-
- if (Thread.currentThread().getContextClassLoader() == threadContextClassLoader)
- Thread.currentThread().setContextClassLoader(origTCCL);
- }
-
- /**
- * Create a bundle ClassLoader which has visibility of all Tuscany related
- * bundles. Use this ClassLoader as TCCL, and the Tuscany service discovery
- * ClassLoader.
- *
- * @param bundleContext
- */
- private void initializeTuscanyClassLoaders(BundleContext bundleContext) {
-
- OSGiServiceDiscoverer discoverer = new OSGiServiceDiscoverer(bundleContext);
- ServiceDiscovery.getInstance().setServiceDiscoverer(discoverer);
- thisBundle = bundleContext.getBundle();
-
- origTCCL = Thread.currentThread().getContextClassLoader();
-
- threadContextClassLoader = new BundleClassLoader(thisBundle, origTCCL);
-
- Thread.currentThread().setContextClassLoader(threadContextClassLoader);
-
- ClassLoader cl = new BundleClassLoader(thisBundle, null);
- // ServiceDiscovery.getInstance().registerClassLoader(cl);
- // serviceDiscoveryClassLoaders.put(thisBundle, cl);
-
- Bundle[] bundles = bundleContext.getBundles();
- for (Bundle bundle : bundles) {
- updateBundleClassLoader(bundle);
- }
- bundleContext.addBundleListener(this);
-
- }
-
- /**
- * Add an installed bundle to the list of bundles in the service discovery classpath
- * if the installed bundle is a Tuscany bundle using the same Core-SPI bundle.
- * Since the bundle containing this activator is in Tuscany Runtime, this bundle
- * will provide access to Runtime and its dependencies (SPI, SCA-API). Third party
- * bundles don't need to be in the service discovery classpath, since they will be automatically
- * imported by bundles which require them. That leaves Tuscany extension bundles,
- * which are added to the service discovery classpath here.
- *
- * 3rd party bundle should be explicitly added to TCCL since classes from these
- * bundles use TCCL to load other classes from the bundle.
- *
- * Load one class from the bundle to check if the new bundle matches this runtime bundle.
- *
- * @param bundle
- */
- private void updateBundleClassLoader(Bundle bundle) {
-
- if (bundle.getSymbolicName().startsWith(TUSCANY_SCA_BUNDLE_PREFIX)) {
-
- // This may be the third party bundle.
- if (bundle.getSymbolicName().startsWith(TUSCANY_3RD_PARTY_BUNDLE_PREFIX)) {
-
- threadContextClassLoader.addBundle(bundle);
- } else {
-
- String thisBundleVersion = (String)thisBundle.getHeaders().get("Bundle-Version");
- String bundleVersion = (String)bundle.getHeaders().get("Bundle-Version");
-
- if (thisBundleVersion == null || bundleVersion == null || thisBundleVersion.equals(bundleVersion)) {
-
- if (!threadContextClassLoader.bundles.contains(bundle)) {
- ClassLoader cl = new BundleClassLoader(bundle, null);
- // ServiceDiscovery.getInstance().registerClassLoader(cl);
- // serviceDiscoveryClassLoaders.put(bundle, cl);
- threadContextClassLoader.addBundle(bundle);
- }
- }
- }
- } else {
- threadContextClassLoader.addBundle(bundle);
- }
- }
-
- /**
- * Handle bundle install/uninstall events
- */
- public void bundleChanged(BundleEvent event) {
-
- Bundle bundle = event.getBundle();
- if (event.getType() == BundleEvent.UNINSTALLED) {
-// ClassLoader cl = serviceDiscoveryClassLoaders.get(bundle);
-// if (cl != null) {
-// ServiceDiscovery.getInstance().unregisterClassLoader(cl);
-// }
- threadContextClassLoader.removeBundle(bundle);
- } else if (event.getType() == BundleEvent.INSTALLED) {
- updateBundleClassLoader(bundle);
- }
- }
-
- /**
- * Bundle ClassLoader that searches a bundle classpath consisting of
- * a list of bundles. The parent ClassLoader is searched only if a class
- * cannot be loaded from the bundle classpath. Tuscany bundles are
- * dynamically added and removed from the bundle classpath when the bundles
- * are installed and uninstalled.
- *
- * No ordering of bundles is maintained at the moment.
- *
- */
- private static class BundleClassLoader extends ClassLoader {
-
- private HashSet<Bundle> bundles;
-
- BundleClassLoader(Bundle bundle, ClassLoader parent) {
- super(parent);
- this.bundles = new HashSet<Bundle>();
- bundles.add(bundle);
- }
-
- private synchronized void addBundle(Bundle bundle) {
- bundles.add(bundle);
- }
-
- private synchronized void removeBundle(Bundle bundle) {
- if (bundles.contains(bundle))
- bundles.remove(bundle);
- }
-
- @Override
- protected Class<?> findClass(String className) throws ClassNotFoundException {
- Class<?> clazz = null;
- synchronized (this) {
- for (Bundle bundle : bundles) {
- try {
- clazz = bundle.loadClass(className);
- break;
- } catch (ClassNotFoundException e) {
- } catch (NoClassDefFoundError e) {
- }
-
- }
- }
- if (clazz != null) {
- return clazz;
- }
- return super.findClass(className);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public Enumeration<URL> getResources(String resName) throws IOException {
- HashSet<URL> urlSet = new HashSet<URL>();
- Enumeration<URL> urls = null;
- synchronized (this) {
- for (Bundle bundle : bundles) {
- urls = bundle.getResources(resName);
- if (urls != null) {
- while (urls.hasMoreElements()) {
- urlSet.add(urls.nextElement());
- }
- }
- }
- }
- if (urlSet.size() > 0)
- return Collections.enumeration(urlSet);
- return super.getResources(resName);
- }
-
- @Override
- public URL getResource(String resName) {
- URL url = null;
- synchronized (this) {
- for (Bundle bundle : bundles) {
- url = bundle.getResource(resName);
- if (url != null)
- return url;
- }
- }
- return super.getResource(resName);
- }
-
- @Override
- public String toString() {
- return "Tuscany BundleClassLoader " + bundles.iterator().next();
- }
-
- }
-}
diff --git a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java b/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java
deleted file mode 100644
index 79b1c0a5f4..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.osgi.runtime;
-
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * Base OSGiRuntime implementation.
- *
- * @version $Rev$ $Date$
- */
-public abstract class OSGiRuntime {
- private static final Logger logger = Logger.getLogger(OSGiRuntime.class.getName());
-
- public abstract BundleContext getBundleContext();
-
- public abstract boolean supportsBundleFragments();
-
- protected abstract BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception;
-
- private static OSGiRuntime instance;
-
- private BundleContext bundleContext;
-
- private PackageAdmin packageAdmin;
-
- private boolean tuscanyRunningInOSGiContainer;
-
- private ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
-
- /**
- * System property org.apache.tuscany.implementation.osgi.runtime.OSGiRuntime can be set to the
- * name of the OSGiRuntime class (eg. EquinoxRuntime). If set, start this runtime and return the
- * system bundlecontext. If not set, start Equinox/Felix/Knopflerfish (in that order) from the
- * classpath.
- *
- * @throws BundleException
- */
- public static synchronized OSGiRuntime findRuntime() throws Exception {
-
- if (instance != null) {
-
- return instance;
- }
- String runtimeClassName = System.getProperty(OSGiRuntime.class.getName());
-
-
- if (runtimeClassName != null) {
- try {
- Class<?> runtimeClass = OSGiRuntime.class.getClassLoader().loadClass(runtimeClassName);
- Method method = runtimeClass.getMethod("getInstance");
- instance = (OSGiRuntime) method.invoke(null);
- return instance;
-
- } catch (Exception e) {
- throw new BundleException("Could not start OSGi runtime " + runtimeClassName, e);
- }
- }
-
- try {
-
- instance = EquinoxRuntime.getInstance();
- return instance;
-
- } catch (ClassNotFoundException e) {
- // Ignore
- } catch (Throwable e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
-
- try {
-
- instance = FelixRuntime.getInstance();
- return instance;
-
- } catch (ClassNotFoundException e) {
- // Ignore
- } catch (Throwable e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
-
- try {
-
- instance = KnopflerfishRuntime.getInstance();
- return instance;
-
- } catch (ClassNotFoundException e) {
- // Ignore
- } catch (Throwable e) {
- logger.log(Level.SEVERE, e.getMessage(), e);
- }
-
- throw new BundleException("Could not start OSGi runtime from the classpath");
- }
-
-
- public static synchronized OSGiRuntime getRuntime() throws Exception {
- return getRuntime(false);
- }
-
- public static synchronized OSGiRuntime getRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception {
-
- instance = findRuntime();
-
- if (instance != null) {
-
- if (instance.bundleContext == null) {
- instance.tuscanyRunningInOSGiContainer = tuscanyRunningInOSGiContainer;
- instance.startRuntime(tuscanyRunningInOSGiContainer);
- instance.initialize();
- }
- return instance;
- }
- return instance;
- }
-
-
- public void shutdown() throws Exception {
-
- bundleContext = null;
- packageAdmin = null;
- }
-
- protected void setBundleContext(BundleContext bundleContext) {
- instance.tuscanyRunningInOSGiContainer = true;
- this.bundleContext = bundleContext;
- }
-
-
-
- public ClassLoader getContextClassLoader() {
- return contextClassLoader;
- }
-
- protected void setContextClassLoader(ClassLoader contextClassLoader) {
- this.contextClassLoader = contextClassLoader;
- }
-
- protected void initialize() {
-
- bundleContext = getBundleContext();
-
- if (bundleContext != null) {
-
- org.osgi.framework.ServiceReference packageAdminReference =
- bundleContext.getServiceReference("org.osgi.service.packageadmin.PackageAdmin");
- if (packageAdminReference != null) {
-
- packageAdmin = (PackageAdmin)bundleContext.getService(packageAdminReference);
- }
- }
-
- }
-
- public Bundle findBundle(String bundleSymbolicName, String bundleVersion) {
-
- if (bundleContext != null) {
- Bundle[] installedBundles = bundleContext.getBundles();
- for (Bundle bundle : installedBundles) {
- if (bundleSymbolicName.equals(bundle.getSymbolicName()) && (bundleVersion == null || bundleVersion
- .equals(bundle.getHeaders().get("Bundle-Version"))))
- return bundle;
- }
-
- }
- return null;
- }
-
- public static synchronized Bundle findInstalledBundle(String bundleLocation) {
- if (instance != null) {
- if (bundleLocation.startsWith("bundle:")||bundleLocation.startsWith("bundleresource:")) {
- try {
- return findInstalledBundle(new URL(bundleLocation));
- } catch (MalformedURLException e) {
- // ignore
- }
- } else {
- return instance.findBundle(bundleLocation);
- }
- }
- return null;
- }
-
- public static synchronized Bundle findInstalledBundle(URL bundleURL) {
- if (instance != null) {
- if (instance.bundleContext != null) {
- Bundle[] installedBundles = instance.bundleContext.getBundles();
- for (Bundle bundle : installedBundles) {
- try {
- if (bundle.getEntry("/").getHost().equals(bundleURL.getHost()))
- return bundle;
- } catch (Exception e) {
- // Ignore exception
- }
- }
- }
- return null;
- }
- return null;
- }
-
- public Bundle findBundle(String bundleLocation) {
-
- if (bundleContext != null) {
- Bundle[] installedBundles = bundleContext.getBundles();
- for (Bundle bundle : installedBundles) {
- if (bundle.getLocation().equals(bundleLocation))
- return bundle;
- }
-
- }
- return null;
- }
-
- public Bundle installBundle(String bundleLocation, InputStream inputStream) {
-
- try {
- if (bundleContext != null) {
- Bundle bundle = findBundle(bundleLocation);
- if (bundle != null)
- return bundle;
- if (inputStream == null)
- bundle = bundleContext.installBundle(bundleLocation);
- else
- bundle = bundleContext.installBundle(bundleLocation, inputStream);
-
- if (bundle != null && packageAdmin != null)
- packageAdmin.refreshPackages(null);
-
- return bundle;
- }
- } catch (BundleException e) {
- }
- return null;
- }
-
- /**
- * Stops the OSGi instance.
- *
- * @throws Exception Failed to shutdown the OSGi instance.
- */
- public static synchronized void stop() throws Exception {
- if (instance != null && !instance.tuscanyRunningInOSGiContainer) {
- instance.shutdown();
- instance = null;
- }
- }
-
-}
diff --git a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java b/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java
deleted file mode 100644
index 1dbe75f431..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.osgi.runtime;
-
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ModuleActivator;
-
-/**
- * @version $Rev$ $Date$
- */
-public class OSGiRuntimeModuleActivator implements ModuleActivator {
-
- /**
- * @see org.apache.tuscany.sca.core.ModuleActivator#start(org.apache.tuscany.sca.core.ExtensionPointRegistry)
- */
- public void start(ExtensionPointRegistry registry) {
- }
-
- /**
- * @see org.apache.tuscany.sca.core.ModuleActivator#stop(org.apache.tuscany.sca.core.ExtensionPointRegistry)
- */
- public void stop(ExtensionPointRegistry registry) {
- try {
- OSGiRuntime.stop();
- } catch (Throwable e) {
- // Ignore the exception
- }
- }
-
-}
diff --git a/branches/sca-android/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-android/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
deleted file mode 100644
index bd3fd72280..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-# Implementation class for the ModuleActivator
-org.apache.tuscany.sca.osgi.runtime.OSGiRuntimeModuleActivator
diff --git a/branches/sca-android/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java b/branches/sca-android/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java
deleted file mode 100644
index 7ce3f6c18f..0000000000
--- a/branches/sca-android/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.osgi.runtime;
-
-import junit.framework.TestCase;
-
-import org.osgi.framework.BundleContext;
-
-/**
- * Test OSGi runtime.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiRuntimeTestCase extends TestCase {
- private OSGiRuntime runtime;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- @Override
- protected void setUp() throws Exception {
- try {
- this.runtime = OSGiRuntime.getRuntime();
- } catch ( Throwable e ) {
- System.out.println( "DOB: OSGiRuntimeTestCase.setUp error=" + e );
- e.printStackTrace();
- }
- }
-
- /**
- * @see junit.framework.TestCase#tearDown()
- */
- @Override
- protected void tearDown() throws Exception {
- OSGiRuntime.stop();
- }
-
- public void testRuntime() throws Exception {
-
- BundleContext bc1 = runtime.getBundleContext();
-
- assertNotNull(bc1);
-
- BundleContext bc2 = runtime.getBundleContext();
-
- assertNotNull(bc2);
-
- assertTrue(bc1 == bc2);
-
- OSGiRuntime.stop();
- runtime = OSGiRuntime.getRuntime();
-
- BundleContext bc3 = runtime.getBundleContext();
-
- assertNotNull(bc3);
-
- assertTrue(bc1 != bc3);
-
- }
-
-}
diff --git a/branches/sca-android/modules/pom.xml b/branches/sca-android/modules/pom.xml
index b0610a1342..a5029efaa7 100644
--- a/branches/sca-android/modules/pom.xml
+++ b/branches/sca-android/modules/pom.xml
@@ -45,12 +45,8 @@
<module>assembly-xsd</module>
<module>binding-corba</module>
<module>binding-corba-runtime</module>
- <module>binding-dwr</module>
<module>binding-ejb</module>
<module>binding-ejb-runtime</module>
- <!-- obsolete -->
- <module>binding-feed</module>
- <!-- new bindings -->
<module>binding-atom</module>
<module>binding-atom-abdera</module>
<module>binding-gdata</module>
@@ -63,14 +59,12 @@
<module>binding-jms-runtime</module>
<module>binding-jsonrpc</module>
<module>binding-jsonrpc-runtime</module>
- <module>binding-notification</module>
<module>binding-rmi</module>
<module>binding-rss</module>
<module>binding-rss-rome</module>
<module>binding-sca</module>
<module>binding-sca-axis2</module>
<module>binding-sca-corba</module>
- <module>binding-sca-jms</module>
<module>binding-sca-xml</module>
<module>binding-ws</module>
<module>binding-ws-axis2</module>
@@ -78,17 +72,14 @@
<module>binding-ws-wsdlgen</module>
<module>binding-ws-xml</module>
<module>contribution</module>
- <module>contribution-groovy</module>
<module>contribution-namespace</module>
<module>contribution-java</module>
<module>contribution-impl</module>
- <module>contribution-osgi</module>
<module>contribution-resource</module>
<module>contribution-xml</module>
<module>core</module>
<module>core-databinding</module>
<module>core-spi</module>
- <module>core-spring</module>
<module>data-api</module>
<module>databinding</module>
<module>databinding-axiom</module>
@@ -100,14 +91,12 @@
<module>databinding-saxon</module>
<module>databinding-xmlbeans</module>
<module>databinding-fastinfoset</module>
- <module>databinding-xstream</module>
<module>data-engine-helper</module>
<module>definitions</module>
<module>definitions-xml</module>
<module>domain-manager</module>
<module>endpoint</module>
<module>extensibility</module>
- <module>extensibility-osgi</module>
<module>extensibility-equinox</module>
<module>extension-helper</module>
<module>host-corba</module>
@@ -140,14 +129,10 @@
<module>implementation-java-runtime</module>
<module>implementation-node</module>
<module>implementation-node-runtime</module>
- <module>implementation-notification</module>
- <module>implementation-osgi</module>
<module>implementation-resource</module>
<module>implementation-resource-runtime</module>
<module>implementation-script</module>
<module>implementation-spring</module>
- <module>implementation-web</module>
- <module>implementation-web-runtime</module>
<module>implementation-widget</module>
<module>implementation-widget-runtime</module>
<module>implementation-xquery</module>
@@ -158,10 +143,8 @@
<module>node-launcher</module>
<module>node-launcher-equinox</module>
<module>thirdparty-library</module>
- <module>node-launcher-osgi</module>
<module>node-launcher-webapp</module>
<module>node-manager</module>
- <module>osgi-runtime</module>
<module>policy</module>
<module>policy-xml</module>
<module>policy-xml-ws</module>
@@ -170,16 +153,13 @@
<module>policy-security-jsr250</module>
<module>policy-security-ws</module>
<module>policy-transaction</module>
- <module>runtime</module>
- <module>runtime-tomcat</module>
- <!--module>runtime-war</module-->
<module>sca-api</module>
+ <module>tracing-aspectj</module>
<module>workspace</module>
<module>workspace-impl</module>
<module>workspace-xml</module>
<module>xsd</module>
<module>xsd-xml</module>
- <module>tracing-aspectj</module>
</modules>
</profile>
diff --git a/branches/sca-android/modules/runtime-standalone/LICENSE b/branches/sca-android/modules/runtime-standalone/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/runtime-standalone/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/runtime-standalone/META-INF/README b/branches/sca-android/modules/runtime-standalone/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/runtime-standalone/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/runtime-standalone/NOTICE b/branches/sca-android/modules/runtime-standalone/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/runtime-standalone/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/runtime-standalone/pom.xml b/branches/sca-android/modules/runtime-standalone/pom.xml
deleted file mode 100644
index 8531019d16..0000000000
--- a/branches/sca-android/modules/runtime-standalone/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-runtime-standalone</artifactId>
- <name>Apache Tuscany SCA Standalone Runtime</name>
-
- <dependencies>
-
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-runtime</artifactId>
- <version>${pom.version}</version>
- </dependency>
-
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-host-tomcat</artifactId>
- <version>${pom.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.0</version>
- <exclusions>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.runtime.standalone</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.runtime.standalone*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java b/branches/sca-android/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java
deleted file mode 100644
index ae05f0bd29..0000000000
--- a/branches/sca-android/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.standalone;
-
-import java.io.File;
-
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.PosixParser;
-import org.apache.tuscany.sca.runtime.Launcher;
-
-/**
- * Strawman for a J2SE standalone launcher
- * Try it with:
- *
- * mvn -o
- * mvn dependency:copy-dependencies -o
- * java -Djava.ext.dirs=target/dependency -jar target\tuscany-sca.jar C:\MyTuscanyRepository
- *
- * where MyTuscanyRepository is a folder containing SCA contribution jars
- */
-public class StandaloneLauncher {
-
- private Launcher launcher;
-
- public StandaloneLauncher(File repository) {
- this.launcher = new Launcher(repository);
- launcher.start();
- }
-
- public void stop() {
- launcher.stop();
- }
-
- public static void main(String[] args) throws Exception {
-
- Options options = new Options();
- options.addOption("domain", true, "the url of the remote domain this node should connect to");
- CommandLineParser parser = new PosixParser();
- CommandLine cmd = parser.parse( options, args);
- if (cmd.getArgs().length != 1) {
- System.err.println("missing contributions folder parameter");
- System.exit(1);
- }
- File f = new File(cmd.getArgs()[0]);
- if (!f.exists()) {
- System.err.println("repository not found: " + cmd.getArgs()[0]);
- System.exit(1);
- }
-
- StandaloneLauncher launcher = new StandaloneLauncher(f);
-
- System.out.println("Press enter to exit...");
- System.in.read();
-
- launcher.stop();
-
- }
-
-}
diff --git a/branches/sca-android/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java b/branches/sca-android/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java
deleted file mode 100644
index d29d4a3851..0000000000
--- a/branches/sca-android/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.standalone;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.domain.DomainException;
-import org.apache.tuscany.sca.node.NodeException;
-import org.apache.tuscany.sca.runtime.Launcher;
-
-public class LauncherTestCase extends TestCase {
-
- private File repo;
- private Launcher launcher;
-
- public void test1() throws NodeException, URISyntaxException, InterruptedException, DomainException, MalformedURLException {
- launcher.start();
- }
-
- public void setUp() throws URISyntaxException {
- URL propsURL = getClass().getClassLoader().getResource("repo/tuscany.properties");
- repo = new File(propsURL.toURI()).getParentFile();
- launcher = new Launcher(repo);
- }
-
- public void tearDown() throws NodeException, URISyntaxException, InterruptedException, DomainException {
- if (launcher != null) {
- launcher.stop();
- }
- }
-
-}
diff --git a/branches/sca-android/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar b/branches/sca-android/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar
deleted file mode 100644
index 6978bee727..0000000000
--- a/branches/sca-android/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar
+++ /dev/null
Binary files differ
diff --git a/branches/sca-android/modules/runtime-standalone/src/test/resources/repo/tuscany.properties b/branches/sca-android/modules/runtime-standalone/src/test/resources/repo/tuscany.properties
deleted file mode 100644
index 2735d130e8..0000000000
--- a/branches/sca-android/modules/runtime-standalone/src/test/resources/repo/tuscany.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-nodeName=http://localhost:8080/myNode/
-#domainName=http://localhost:8777/tuscany/foo/
-#startManager=true
-#hotDeployInterval=10000
-#useHotUpdate=true
diff --git a/branches/sca-android/modules/runtime-tomcat/LICENSE b/branches/sca-android/modules/runtime-tomcat/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/runtime-tomcat/META-INF/README b/branches/sca-android/modules/runtime-tomcat/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/runtime-tomcat/NOTICE b/branches/sca-android/modules/runtime-tomcat/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/runtime-tomcat/pom.xml b/branches/sca-android/modules/runtime-tomcat/pom.xml
deleted file mode 100644
index 6d15f1455e..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/pom.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-runtime-tomcat</artifactId>
- <name>Apache Tuscany SCA Runtime for Tomcat deep integration</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>catalina</artifactId>
- <version>6.0.14</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- </exclusions>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>coyote</artifactId>
- <version>6.0.14</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version> <!-- to keep compatible with older servlet containers -->
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-endpoint</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca-jms</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.runtime.tomcat</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.runtime.tomcat*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java
deleted file mode 100644
index 45ea279889..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.endpointresolver.EndpointResolver;
-import org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory;
-
-/**
- * The factory for creating endpoint Binding providers
- *
- * @version $Rev$ $Date$
- */
-public class EndpointResolverFactoryImpl implements EndpointResolverFactory<Endpoint> {
-
- private ExtensionPointRegistry extensionPoints;
-
- public EndpointResolverFactoryImpl(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
- }
-
- public EndpointResolver createEndpointResolver(Endpoint endpoint, Binding binding) {
-
- return new EndpointResolverImpl(extensionPoints, endpoint);
- }
-
- public Class<Endpoint> getModelType() {
- return Endpoint.class;
- }
-}
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java
deleted file mode 100644
index e05004160c..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Logger;
-
-import org.apache.catalina.core.StandardContext;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.builder.DefaultEndpointBuilder;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.endpointresolver.EndpointResolver;
-import org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory;
-import org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain;
-import org.apache.tuscany.sca.host.webapp.WebAppServletHost;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.Problem;
-
-
-/**
- * The endpoint resolver allows unresolved endpoints to be plumbed into
- * the runtime start and message send processing as a hook to late resolution
- * of target services
- *
- * @version $Rev$ $Date$
- */
-public class EndpointResolverImpl implements EndpointResolver {
-
- private final static Logger logger = Logger.getLogger(EndpointResolverImpl.class.getName());
-
- private Endpoint endpoint;
- private List<EndpointResolver> endpointResolvers = new ArrayList<EndpointResolver>();
-
- public EndpointResolverImpl(ExtensionPointRegistry extensionPoints,
- Endpoint endpoint) {
- this.endpoint = endpoint;
-
- EndpointResolverFactoryExtensionPoint resolverFactories =
- extensionPoints.getExtensionPoint(EndpointResolverFactoryExtensionPoint.class);
-
- for (Binding binding : endpoint.getCandidateBindings()){
- EndpointResolverFactory resolverFactory = resolverFactories.getEndpointResolverFactory(binding.getClass());
-
- // if the binding in question has a endpoint resolver factory they try and
- // create an endpoint resolver
- if (resolverFactory != null){
- EndpointResolver resolver = resolverFactory.createEndpointResolver(endpoint, binding);
-
- if (resolver != null){
- endpointResolvers.add(resolver);
- }
- }
- }
- }
-
- public void start(){
- // do nothing
- }
-
- public void resolve() {
- if (endpoint.isUnresolved()){
- logger.info("resolving endpoint: " + endpoint.getTargetName());
-
- Component target = findTarget();
- if (target != null) {
- logger.info("endpoint target found: " + endpoint.getTargetName() + " component " + target);
- resolveEndpoint(target);
- } else {
- logger.info("endpoint target not found: " + endpoint.getTargetName());
- }
-
- }
- }
-
- protected void resolveEndpoint(Component targetComponent) {
-
- endpoint.setTargetComponent(targetComponent);
- endpoint.setTargetComponentService(targetComponent.getServices().get(0)); // TODO real service
-
- DefaultEndpointBuilder ebi = new DefaultEndpointBuilder(new Monitor() {
- public void problem(Problem problem) {
- logger.warning(problem.toString());
- }
-
- public List<Problem> getProblems() {
- return null;
- }
- });
-
- ebi.build(endpoint);
- }
-
- protected Component findTarget() {
- for (StandardContext sc : TuscanyHost.scaApps) {
- SCADomain scaDomain = (SCADomain)sc.getServletContext().getAttribute(WebAppServletHost.SCA_DOMAIN_ATTRIBUTE);
- if (scaDomain != null) {
- Component component = ((DefaultSCADomain)scaDomain).getComponent(endpoint.getTargetName());
- if ( component != null) {
- return component;
- }
- }
- }
- return null;
- }
-
- public void stop() {
- if (!endpoint.isUnresolved()){
- // Currently the CompositeActivator stop() should take care of the providers and
- // wires that have been added.
- }
- }
-
-}
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java
deleted file mode 100644
index 7351ecabe0..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import javax.naming.NamingException;
-
-import org.apache.AnnotationProcessor;
-import org.apache.catalina.core.StandardContext;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.host.webapp.WebAppServletHost;
-import org.osoa.sca.annotations.Reference;
-
-/**
- * A Tuscany specific Tomcat annotation processor for processing SCA annotations
- */
-public class TuscanyAnnotationProcessor implements AnnotationProcessor {
-
- private StandardContext scaApp;
-
- public TuscanyAnnotationProcessor(StandardContext scaApp) {
- this.scaApp = scaApp;
- }
-
- public void postConstruct(Object instance) throws IllegalAccessException, InvocationTargetException {
- }
-
- public void preDestroy(Object instance) throws IllegalAccessException, InvocationTargetException {
- }
-
- public void processAnnotations(Object instance) throws IllegalAccessException, InvocationTargetException, NamingException {
-
- // Initialize fields annotations
- Field[] fields = instance.getClass().getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- if (fields[i].isAnnotationPresent(Reference.class)) {
- Reference annotation = fields[i].getAnnotation(Reference.class);
- injectFieldResource(instance, fields[i], annotation);
- }
- }
-
- // Initialize methods annotations
- Method[] methods = instance.getClass().getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- if (methods[i].isAnnotationPresent(Reference.class)) {
- Reference annotation = methods[i].getAnnotation(Reference.class);
- injectMethodResource(instance, methods[i], annotation);
- }
- }
-
- }
-
- protected void injectFieldResource(Object instance, Field field, Reference annotation) throws IllegalArgumentException, IllegalAccessException {
-
- String serviceName = annotation.name();
- if (serviceName == null || serviceName.length() < 1) {
- serviceName = field.getName();
- }
-
- Object service = getSCADomain().getService(field.getType(), serviceName);
-
- boolean accessibility = field.isAccessible();
- field.setAccessible(true);
- field.set(instance, service);
- field.setAccessible(accessibility);
- }
-
- protected void injectMethodResource(Object instance, Method method, Reference annotation) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {
-
- String serviceName = annotation.name();
- if (serviceName == null || serviceName.length() < 1) {
- StringBuilder setterName = new StringBuilder(method.getName());
- setterName.setCharAt(4, Character.toLowerCase(setterName.charAt(4)));
- serviceName = setterName.substring(4);
- }
-
- Object service = getSCADomain().getService(method.getParameterTypes()[0], serviceName);
-
- boolean accessibility = method.isAccessible();
- method.setAccessible(true);
- method.invoke(instance, service);
- method.setAccessible(accessibility);
- }
-
- protected SCADomain getSCADomain() {
- return (SCADomain)scaApp.getServletContext().getAttribute(WebAppServletHost.SCA_DOMAIN_ATTRIBUTE);
- }
-}
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java
deleted file mode 100644
index c8d3aa7a46..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-import java.util.Hashtable;
-
-import javax.naming.Binding;
-import javax.naming.Context;
-import javax.naming.Name;
-import javax.naming.NameClassPair;
-import javax.naming.NameParser;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.ModificationItem;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-
-import org.apache.catalina.core.StandardContext;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyContext extends StandardContext {
- private static final long serialVersionUID = 1L;
-
- public TuscanyContext() {
- setProcessTlds(false);
- }
-
- @Override
- public boolean getConfigured() {
- return true;
- }
-
- @Override
- public DirContext getResources() {
- return DUMMY_CONTEXT;
- }
-
- @Override
- public synchronized void setResources(DirContext resources) {
- setDocBase("tuscany");
- super.setResources(DUMMY_CONTEXT);
- }
-
- private static final DirContext DUMMY_CONTEXT = new DirContext(){
-
- public void bind(Name name, Object obj, Attributes attrs) throws NamingException {
- }
-
- public void bind(String name, Object obj, Attributes attrs) throws NamingException {
- }
-
- public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException {
- return null;
- }
-
- public DirContext createSubcontext(String name, Attributes attrs) throws NamingException {
- return null;
- }
-
- public Attributes getAttributes(Name name) throws NamingException {
- return null;
- }
-
- public Attributes getAttributes(String name) throws NamingException {
- return null;
- }
-
- public Attributes getAttributes(Name name, String[] attrIds) throws NamingException {
- return null;
- }
-
- public Attributes getAttributes(String name, String[] attrIds) throws NamingException {
- return null;
- }
-
- public DirContext getSchema(Name name) throws NamingException {
- return null;
- }
-
- public DirContext getSchema(String name) throws NamingException {
- return null;
- }
-
- public DirContext getSchemaClassDefinition(Name name) throws NamingException {
- return null;
- }
-
- public DirContext getSchemaClassDefinition(String name) throws NamingException {
- return null;
- }
-
- public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException {
- }
-
- public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException {
- }
-
- public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException {
- }
-
- public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException {
- }
-
- public void rebind(Name name, Object obj, Attributes attrs) throws NamingException {
- }
-
- public void rebind(String name, Object obj, Attributes attrs) throws NamingException {
- }
-
- public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<SearchResult> search(String name, String filter, SearchControls cons) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<SearchResult> search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<SearchResult> search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException {
- return null;
- }
-
- public Object addToEnvironment(String propName, Object propVal) throws NamingException {
- return null;
- }
-
- public void bind(Name name, Object obj) throws NamingException {
- }
-
- public void bind(String name, Object obj) throws NamingException {
- }
-
- public void close() throws NamingException {
- }
-
- public Name composeName(Name name, Name prefix) throws NamingException {
- return null;
- }
-
- public String composeName(String name, String prefix) throws NamingException {
- return null;
- }
-
- public Context createSubcontext(Name name) throws NamingException {
- return null;
- }
-
- public Context createSubcontext(String name) throws NamingException {
- return null;
- }
-
- public void destroySubcontext(Name name) throws NamingException {
- }
-
- public void destroySubcontext(String name) throws NamingException {
- }
-
- public Hashtable<?, ?> getEnvironment() throws NamingException {
- return null;
- }
-
- public String getNameInNamespace() throws NamingException {
- return null;
- }
-
- public NameParser getNameParser(Name name) throws NamingException {
- return null;
- }
-
- public NameParser getNameParser(String name) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<NameClassPair> list(Name name) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<NameClassPair> list(String name) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<Binding> listBindings(Name name) throws NamingException {
- return null;
- }
-
- public NamingEnumeration<Binding> listBindings(String name) throws NamingException {
- throw new NamingException();
- }
-
- public Object lookup(Name name) throws NamingException {
- return null;
- }
-
- public Object lookup(String name) throws NamingException {
- return null;
- }
-
- public Object lookupLink(Name name) throws NamingException {
- return null;
- }
-
- public Object lookupLink(String name) throws NamingException {
- return null;
- }
-
- public void rebind(Name name, Object obj) throws NamingException {
- }
-
- public void rebind(String name, Object obj) throws NamingException {
- }
-
- public Object removeFromEnvironment(String propName) throws NamingException {
- return null;
- }
-
- public void rename(Name oldName, Name newName) throws NamingException {
- }
-
- public void rename(String oldName, String newName) throws NamingException {
- }
-
- public void unbind(Name name) throws NamingException {
- }
-
- public void unbind(String name) throws NamingException {
- }
- };
-
-}
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java
deleted file mode 100644
index b19e2326a2..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-import java.io.File;
-
-import org.apache.catalina.Context;
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.LifecycleEvent;
-import org.apache.catalina.LifecycleListener;
-import org.apache.catalina.core.StandardContext;
-//import org.apache.tuscany.sca.runtime.Launcher;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyContextListener implements LifecycleListener {
-
-// private Launcher launcher;
-
-// public TuscanyContextListener(Launcher launcher) {
-// this.launcher = launcher;
-// }
-
- public void lifecycleEvent(LifecycleEvent event) {
- String type = event.getType();
- if (Lifecycle.AFTER_START_EVENT.equals(type)) {
- startContext((Context) event.getLifecycle());
- } else if (Lifecycle.STOP_EVENT.equals(type)) {
- stopContext((Context) event.getLifecycle());
- }
- }
-
- protected void startContext(Context context) {
- StandardContext sc = (StandardContext) context;
- String path = sc.getServletContext().getRealPath("/");
- try {
- File f = new File(path + "WEB-INF/classes");
- if (f.exists()) {
- System.out.println("adding contribution: "+ path);
-// launcher.addContribution(f.toURL());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- protected void stopContext(Context context) {
- }
-
-}
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java
deleted file mode 100644
index 38280443f0..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.jar.JarFile;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.catalina.Container;
-import org.apache.catalina.LifecycleException;
-import org.apache.catalina.core.StandardContext;
-import org.apache.catalina.core.StandardEngine;
-import org.apache.catalina.core.StandardHost;
-import org.apache.catalina.deploy.FilterDef;
-import org.apache.catalina.deploy.FilterMap;
-
-/**
- * To use this copy all the Tuscany jars to the Tomcat lib folder and update
- * the Tomcat conf/server.xml <Host> to include className="org.apache.tuscany.sca.runtime.tomcat.TomcatHost"
- *
- * For example:
- *
- * <Host name="localhost" appBase="webapps"
- * className="org.apache.tuscany.sca.runtime.tomcat.TuscanyHost"
- * unpackWARs="true" autoDeploy="true"
- * xmlValidation="false" xmlNamespaceAware="false">
- *
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyHost extends StandardHost {
- private static final long serialVersionUID = 1L;
- private static final Logger logger = Logger.getLogger(TuscanyHost.class.getName());
-
- // TODO static for expedience, find a better way to share when/if this is working properly
- protected static List<StandardContext> scaApps = new ArrayList<StandardContext>();
-
- @Override
- public synchronized void start() throws LifecycleException {
- try {
- logger.log(Level.INFO, "Starting Tuscany/SCA runtime");
-
- super.start();
-
- } catch (Exception e) {
- logger.log(Level.SEVERE, "Exception starting Tuscany/SCA runtime", e);
- }
- }
-
- @Override
- public synchronized void stop() throws LifecycleException {
- try {
- logger.log(Level.INFO, "Stopping Tuscany/SCA runtime");
-
- super.stop();
-
- } catch (Exception e) {
- logger.log(Level.SEVERE, "Exception Stopping Tuscany/SCA runtime", e);
- }
- }
-
- @Override
- public synchronized void addChild(Container child) {
- try {
- if (isSCAApp(child)) {
- initSCAApplication((StandardContext)child);
- }
- } catch (Exception e) {
- logger.log(Level.WARNING, "Exception detecting SCA application " + child.getName(), e);
- }
- super.addChild(child);
- }
-
- /**
- * Tests if the child is an SCA application by checking for the presence
- * of either an sca-contribution.xml file or a sca-deployables folder
- */
- protected boolean isSCAApp(Container child) throws IOException {
- if (child instanceof StandardContext) {
- StandardContext sc = (StandardContext) child;
-
- if (sc.getDocBase().endsWith(".war")) {
- JarFile jar = null;
- try {
- jar = new JarFile(((StandardEngine)this.getParent()).getBaseDir() + "/" + getAppBase() + "/" + sc.getDocBase());
-
- if (jar.getEntry("META-INF/sca-deployables/") != null) {
- return true;
- }
-
- if (jar.getEntry("META-INF/sca-contribution.xml") != null) {
- return true;
- }
-
- } finally {
- if (jar != null) {
- jar.close();
- }
- }
- } else {
- File webappRoot = new File(sc.getConfigFile()).getParentFile().getParentFile();
-
- File scaDeployables = new File(webappRoot, "META-INF/sca-deployables");
- if (scaDeployables.exists()) {
- return true;
- }
-
- File scaContribution = new File(webappRoot, "META-INF/sca-contribution.xml");
- if (scaContribution.exists()) {
- return true;
- }
- }
- }
- return false;
- }
-
- protected void initSCAApplication(StandardContext scaApp) {
- logger.log(Level.INFO, "Initilizing SCA application: " + scaApp.getName());
-
- // Add the Tuscany ContextListener
- scaApp.addApplicationListener(org.apache.tuscany.sca.host.webapp.TuscanyContextListener.class.getName());
-
- // Add the Tuscany Servlet Filter
- FilterDef filterDef = new FilterDef();
- filterDef.setFilterClass(org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.class.getName());
- filterDef.setFilterName(org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.class.getName());
- scaApp.addFilterDef(filterDef);
- FilterMap filterMap = new FilterMap();
- filterMap.setFilterName(filterDef.getFilterName());
- filterMap.addURLPattern("/*");
- scaApp.addFilterMap(filterMap);
-
- scaApp.setAnnotationProcessor(new TuscanyAnnotationProcessor(scaApp));
-
- scaApps.add(scaApp);
- }
-
-}
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java
deleted file mode 100644
index 112b404515..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-import java.io.IOException;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.tuscany.sca.host.webapp.WebAppServletHost;
-
-/**
- * A Servlet that forwards requests to the Servlets registered with the Tuscany
- * ServletHost.
- *
- * TODO: Copy of host-webapp TuscanyServlet. Can be removed once host-webapp TuscanyServlet
- * moved over to latest SCADomain API.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
-
- private transient WebAppServletHost servletHost;
-
- @Override
- public void init(ServletConfig config) throws ServletException {
- servletHost = WebAppServletHost.getInstance();
- servletHost.init(config);
- }
-
- @Override
- public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
- String path = ((HttpServletRequest)req).getPathInfo();
- RequestDispatcher dispatcher = servletHost.getRequestDispatcher(path);
- if (dispatcher == null) {
- throw new IllegalStateException("No servlet registered for path: " + path);
- }
-
- dispatcher.forward(req, res);
- }
-
-}
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java b/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java
deleted file mode 100644
index 8764094d48..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime.tomcat;
-
-import javax.servlet.Servlet;
-
-import org.apache.catalina.core.StandardWrapper;
-
-/**
- * Override the StandardWrapper so that Servlets are not instantiated from the
- * class name but just the instance Tuscany passes in the constructor is always used.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyWrapper extends StandardWrapper {
- private static final long serialVersionUID = 1L;
-
- private final Servlet servlet;
-
- public TuscanyWrapper(Servlet servlet) {
- super();
- this.servlet = servlet;
- }
-
- @Override
- public synchronized Servlet loadServlet() {
- return servlet;
- }
-
- @Override
- public Servlet getServlet() {
- return servlet;
- }
-} \ No newline at end of file
diff --git a/branches/sca-android/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory b/branches/sca-android/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory
deleted file mode 100644
index e59ade0150..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.runtime.tomcat.EndpointResolverFactoryImpl;model=org.apache.tuscany.sca.assembly.Endpoint
diff --git a/branches/sca-android/modules/runtime-tomcat/src/test/resources/content/test.html b/branches/sca-android/modules/runtime-tomcat/src/test/resources/content/test.html
deleted file mode 100644
index f4b79d7f01..0000000000
--- a/branches/sca-android/modules/runtime-tomcat/src/test/resources/content/test.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html>
-<!--
- * 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.
--->
-<body><p>hello</body>
-</html> \ No newline at end of file
diff --git a/branches/sca-android/modules/runtime-war/LICENSE b/branches/sca-android/modules/runtime-war/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/runtime-war/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/runtime-war/META-INF/README b/branches/sca-android/modules/runtime-war/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/runtime-war/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/runtime-war/NOTICE b/branches/sca-android/modules/runtime-war/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/runtime-war/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/runtime-war/pom.xml b/branches/sca-android/modules/runtime-war/pom.xml
deleted file mode 100644
index 44e66c6510..0000000000
--- a/branches/sca-android/modules/runtime-war/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <name>Apache Tuscany SCA WAR Runtime</name>
- <artifactId>tuscany-runtime-war</artifactId>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-runtime</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version> <!-- to keep compatible with older servlet containers -->
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <build>
- <finalName>tuscany</finalName>
- </build>
-</project>
-
diff --git a/branches/sca-android/modules/runtime/LICENSE b/branches/sca-android/modules/runtime/LICENSE
deleted file mode 100644
index 8aa906c321..0000000000
--- a/branches/sca-android/modules/runtime/LICENSE
+++ /dev/null
@@ -1,205 +0,0 @@
-
- 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, service 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/branches/sca-android/modules/runtime/META-INF/README b/branches/sca-android/modules/runtime/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/runtime/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/runtime/NOTICE b/branches/sca-android/modules/runtime/NOTICE
deleted file mode 100644
index fdfa0e9faa..0000000000
--- a/branches/sca-android/modules/runtime/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-android/modules/runtime/pom.xml b/branches/sca-android/modules/runtime/pom.xml
deleted file mode 100644
index cde7c627b8..0000000000
--- a/branches/sca-android/modules/runtime/pom.xml
+++ /dev/null
@@ -1,381 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <name>Apache Tuscany SCA Runtime</name>
- <artifactId>tuscany-runtime</artifactId>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-dwr</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-ejb</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-feed</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-http</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-jms</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-jsonrpc</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-notification</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-rmi</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-sca-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-ws</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-ws-axis2</artifactId>
- <version>${pom.version}</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-ws-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-contribution-java</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-contribution-namespace</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-contribution-resource</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-core-databinding</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-core-spring</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-databinding-axiom</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-databinding-jaxb</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-databinding-sdo</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-databinding-sdo-axiom</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-definitions</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-definitions-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-domain-manager</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-node-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-extension-helper</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-host-rmi</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-java</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-java-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-node</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-node-runtime</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-notification</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-resource</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-script</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-implementation-spring</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-wsdl</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-wsdl-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-policy</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-policy-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.3</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.activemq</groupId>
- <artifactId>activemq-core</artifactId>
- <version>4.1.1</version>
- </dependency>
- </dependencies>
-
- <build>
- <finalName>tuscany-sca</finalName>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>org.apache.tuscany.sca.runtime.standalone.Launcher</mainClass>
- <addClasspath>false</addClasspath>
- </manifest>
- <manifestEntries>
- <!-- Add an entry for the renamed bundle jar in the distro -->
- <Class-Path>tuscany-standalone-${pom.version}.jar</Class-Path>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java b/branches/sca-android/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java
deleted file mode 100644
index 1f03ade970..0000000000
--- a/branches/sca-android/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * 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 org.apache.tuscany.sca.runtime;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.xml.namespace.QName;
-
-//import org.apache.tuscany.sca.node.NodeException;
-//import org.apache.tuscany.sca.node.SCANode;
-//import org.apache.tuscany.sca.node.SCANodeFactory;
-
-/**
- * A Launcher using a multiple nodes part as part of a domain
- *
- * @version $Rev$ $Date$
- */
-public class Launcher {
- private static final Logger logger = Logger.getLogger(Launcher.class.getName());
-
-// protected SCANodeFactory scaNodeFactory;
-// protected List<SCANode> scaNodes;
- protected String domainName;
- protected File repository;
-
- protected boolean started;
-
- protected String cp;
-
- public Launcher(File repository) {
- this(repository, "http://localhost:8080/Tuscany");
- }
-
- public Launcher(File repository, String cp) {
- this.repository = repository;
- this.cp = cp;
-
- initFromPropertyFile();
-
- logger.info("SCA runtime starting");
- logger.info("repository: " + repository.getAbsolutePath());
- logger.info("domain: " + ((domainName != null) ? domainName : "STANDALONE"));
-
-// scaNodeFactory = SCANodeFactory.newInstance();
-// scaNodes = new ArrayList<SCANode>();
-
- if (repository != null && repository.exists()) {
-// if (isExplodedContribution(repository)) {
-// addContributionFolder(repository);
-// } else {
-// addTopLevelJARs(repository);
-// addSubFolders(repository);
-// }
- }
- }
-
- protected boolean isExplodedContribution(File folder) {
- return getJARsInFolder(folder).length < 1 && containsCompositeFile(folder);
- }
-
-// protected void addContributionFolder(File folder) {
-// SCANode repoNode;
-// try {
-// repoNode = createNode(cp);
-// } catch (Exception e) {
-// throw new RuntimeException(e);
-// }
-//
-// try {
-// repoNode.addContribution(folder.toURL().toString(), folder.toURL());
-// logger.info("added contribution folder: " + folder.toURL());
-// } catch (Exception e) {
-// e.printStackTrace();
-// logger.log(Level.WARNING, "exception adding contribution folder: " + folder, e);
-// }
-// }
-//
-// protected URL[] addTopLevelJARs(File repository) {
-// SCANode repoNode;
-// try {
-// repoNode = createNode(cp);
-// } catch (Exception e) {
-// throw new RuntimeException(e);
-// }
-//
-// URL[] jars = getJARsInFolder(repository);
-// for (URL jarURL : jars) {
-// try {
-// repoNode.addContribution(jarURL.toString(), jarURL);
-// logger.info("added contribution: " + jarURL);
-// } catch (NodeException e) {
-// e.printStackTrace();
-// logger.log(Level.WARNING, "exception adding contribution: " + jarURL, e);
-// }
-// }
-//
-// return jars;
-// }
-//
-// protected URL[] addSubFolders(File repository) {
-// URL[] folders = getSubFolders(repository);
-// for (URL folderURL : folders) {
-// try {
-// SCANode scaNode = createNode(cp + "/" + folderURL);
-// scaNode.addContribution(folderURL.toString(), folderURL);
-// logger.info("added contribution: " + folderURL);
-// } catch (Exception e) {
-// e.printStackTrace();
-// logger.log(Level.WARNING, "exception adding contribution: " + folderURL, e);
-// }
-// }
-// return folders;
-// }
-//
-// public void addContribution(URL contributionURL) throws NodeException {
-// SCANode scaNode = createNode(cp + "/" + contributionURL);
-//
-// if (started && domainName == null) {
-// scaNode.stop();
-// }
-//
-// scaNode.addContribution(contributionURL.toString(), contributionURL);
-// logger.info("added contribution: " + contributionURL);
-//
-// if (started) {
-// if (domainName == null) {
-// scaNode.addToDomainLevelComposite((QName)null);
-// scaNode.start();
-// } else {
-// scaNode.addToDomainLevelComposite((QName)null);
-// scaNode.start();
-// }
-// }
-// }
-//
-// public void start() {
-// try {
-//
-// for (SCANode scaNode : scaNodes) {
-// scaNode.addToDomainLevelComposite((QName)null);
-// scaNode.start();
-// }
-//
-// } catch (NodeException e) {
-// throw new RuntimeException(e);
-// }
-// started = true;
-// }
-//
-// public void stop() {
-// try {
-// for (SCANode scaNode : scaNodes) {
-// scaNode.stop();
-// }
-// } catch (NodeException e) {
-// throw new RuntimeException(e);
-// }
-// started = false;
-// }
-//
-// public void destroy() {
-// try {
-// stop();
-// for (SCANode scaNode : scaNodes) {
-// scaNode.destroy();
-// }
-// } catch (NodeException e) {
-// throw new RuntimeException(e);
-// }
-// }
-
- protected URL[] getJARsInFolder(File repository) {
-
- String[] jarNames = repository.list(new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return name.endsWith(".jar");
- }
- });
-
- List<URL> contributionJars = new ArrayList<URL>();
- if (jarNames != null) {
- for (String jar : jarNames) {
- try {
- contributionJars.add(new File(repository, jar).toURL());
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- return contributionJars.toArray(new URL[contributionJars.size()]);
- }
-
- protected URL[] getSubFolders(File repositoryDir) {
- String[] folderNames = repositoryDir.list(new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return new File(dir, name).isDirectory();
- }
- });
-
- List<URL> contributionFolders = new ArrayList<URL>();
- if (folderNames != null) {
- for (String folder : folderNames) {
- try {
- contributionFolders.add(new File(repositoryDir, folder).toURL());
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- return contributionFolders.toArray(new URL[contributionFolders.size()]);
- }
-
- /**
- * Tests if the directory or any sub-directories contains a .composite file
- */
- protected boolean containsCompositeFile(File repository) {
- String[] compositesFileNames = repository.list(new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return name.endsWith(".composite");
- }
- });
-
- if (compositesFileNames == null || compositesFileNames.length < 1) {
- for (URL subFolder : getSubFolders(repository)) {
- try {
- if (containsCompositeFile(new File(subFolder.toURI()))) {
- return true;
- }
- } catch (URISyntaxException e) {
- throw new RuntimeException(e);
- }
- }
- return false;
- } else {
- return true;
- }
- }
-
- /**
- * Creates a new SCA Node unless running as a standalone node in
- * which case just a single node is used to run for all contributions
- */
-// protected SCANode createNode(String nodeName) throws NodeException {
-// SCANode scaNode;
-//
-// if (domainName == null || domainName.length() < 1) {
-// if (scaNodes.size() < 1) {
-// scaNode = scaNodeFactory.createSCANode(nodeName, null);
-// scaNodes.add(scaNode);
-// } else {
-// scaNode = scaNodes.get(0);
-// }
-// } else {
-// scaNode = scaNodeFactory.createSCANode(nodeName, null);
-// scaNodes.add(scaNode);
-// }
-//
-// return scaNode;
-// }
-
- protected void initFromPropertyFile() {
- File file = new File(repository, "tuscany.properties");
- if (!file.exists()) {
- return;
- }
-
- Properties properties = new Properties();
- try {
- properties.load(new FileInputStream(file));
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
-
-// if (properties.getProperty("nodeName") != null) {
-// this.nodeName = properties.getProperty("nodeName");
-// }
- if (properties.getProperty("domainName") != null && properties.getProperty("domainName").length() > 0) {
- this.domainName = properties.getProperty("domainName");
- }
-// if (properties.getProperty("hotDeployInterval") != null) {
-// this.hotDeployInterval = Long.parseLong(properties.getProperty("hotDeployInterval"));
-// }
- }
-
-// protected void initHotDeploy(final File repository) {
-//
-// if (hotDeployInterval == 0) {
-// return; // hotUpdateInterval of 0 disables hotupdate
-// }
-//
-// Runnable runable = new Runnable() {
-//
-// public void run() {
-// logger.info("Contribution hot deploy activated");
-// while (!stopHotDeployThread) {
-// try {
-// Thread.sleep(hotDeployInterval);
-// } catch (InterruptedException e) {
-// }
-// if (!stopHotDeployThread) {
-// checkForUpdates(repository);
-// }
-// }
-// logger.info("contribution hot deploy stopped");
-// }
-// };
-// hotDeployThread = new Thread(runable, "TuscanyHotDeploy");
-// stopHotDeployThread = false;
-// hotDeployThread.start();
-// }
-//
-// protected void checkForUpdates(File repository) {
-// URL[] currentContributions = getContributionJarURLs(repository);
-// if (areContributionsAltered(currentContributions)) {
-// restartNode(node);
-// }
-// }
-//
-// protected boolean areContributionsAltered(URL[] currentContrabutions) {
-// try {
-//
-// List addedContributions = getAddedContributions(currentContrabutions);
-// List removedContributions = getRemovedContributions(currentContrabutions);
-// List updatedContributions = getUpdatedContributions(currentContrabutions);
-//
-// return (addedContributions.size() > 0 || removedContributions.size() > 0 || updatedContributions.size() > 0);
-//
-// } catch (URISyntaxException e) {
-// throw new RuntimeException(e);
-// }
-// }
-//
-// protected List<URL> getAddedContributions(URL[] currentContrabutions) {
-// List<URL> urls = new ArrayList<URL>();
-// for (URL url : currentContrabutions) {
-// if (!existingContributions.containsKey(url)) {
-// urls.add(url);
-// }
-// }
-// return urls;
-// }
-//
-// protected List<URL> getUpdatedContributions(URL[] currentContrabutions) throws URISyntaxException {
-// List<URL> urls = new ArrayList<URL>();
-// for (URL url : currentContrabutions) {
-// if (existingContributions.containsKey(url)) {
-// File curentFile = new File(url.toURI());
-// if (curentFile.lastModified() != existingContributions.get(url)) {
-// urls.add(url);
-// logger.info("updated contribution: " + curentFile.getName());
-// }
-// }
-// }
-// return urls;
-// }
-//
-// protected List getRemovedContributions(URL[] currentContrabutions) throws URISyntaxException {
-// List<URL> currentUrls = Arrays.asList(currentContrabutions);
-// List<URL> urls = new ArrayList<URL>();
-// for (URL url : existingContributions.keySet()) {
-// if (!currentUrls.contains(url)) {
-// urls.add(url);
-// }
-// }
-// for (URL url : urls) {
-// logger.info("removed contributions: " + new File(url.toURI()).getName());
-// }
-// return urls;
-// }
-//
-// protected void copyFiles(File origin, File destination) throws IOException {
-// if (origin.isDirectory()) {
-// if (!destination.exists()) {
-// destination.mkdir();
-// }
-// for (String file : origin.list()) {
-// copyFiles(new File(origin, file), new File(destination, file));
-// }
-// } else {
-// InputStream in = new FileInputStream(origin);
-// OutputStream out = new FileOutputStream(destination);
-// try {
-// byte[] buf = new byte[4096];
-// int len;
-// while ((len = in.read(buf)) > 0) {
-// out.write(buf, 0, len);
-// }
-// } finally {
-// in.close();
-// out.close();
-// }
-// }
-// }
-}
diff --git a/branches/sca-android/modules/runtime2/META-INF/README b/branches/sca-android/modules/runtime2/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/runtime2/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/runtime2/pom.xml b/branches/sca-android/modules/runtime2/pom.xml
deleted file mode 100644
index dbf55df4e3..0000000000
--- a/branches/sca-android/modules/runtime2/pom.xml
+++ /dev/null
@@ -1,334 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-runtime2</artifactId>
- <name>Apache Tuscany SCA runtime</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-namespace</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding-jaxb</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-endpoint</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extensibility</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-monitor</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-monitor-logging</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- </dependencies>
-
-
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- </resources>
-
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
-
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <shadedGroupFilter>org.apache.tuscany.sca</shadedGroupFilter>
-
- <shadedArtifactAttached>false</shadedArtifactAttached>
- <createSourcesJar>${createSourcesJar}</createSourcesJar>
- <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
- <createDependencyReducedPom>true</createDependencyReducedPom>
-
- <!-- artifactSet>
- <includes>
- <include>org.apache.tuscany.sca:sca-api</include>
- </includes>
- <excludes>
- <exclude>org.apache.tuscany.sca:extensibility</exclude>
- </excludes>
- </artifactSet -->
-
- <filters>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-host-embedded</artifact>
- <!-- excludes>
- <exclude>org/apache/tuscany/sca/host/embedded/*</exclude>
- </excludes -->
- <includes>
- <include>org/apache/tuscany/sca/host/embedded/impl/**</include>
- </includes>
- </filter>
- <filter>
- <artifact>${project.groupId}:${project.artifactId}</artifact>
-
- <excludes>
- <exclude>org/**</exclude>
- </excludes>
- </filter>
- </filters>
-
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.core.ModuleActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBinding</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.work.WorkScheduler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider</resource>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-android/modules/scdl4j/META-INF/README b/branches/sca-android/modules/scdl4j/META-INF/README
deleted file mode 100644
index 009570154d..0000000000
--- a/branches/sca-android/modules/scdl4j/META-INF/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains a generated MANIFEST.MF file.
diff --git a/branches/sca-android/modules/scdl4j/pom.xml b/branches/sca-android/modules/scdl4j/pom.xml
deleted file mode 100644
index b259e339e5..0000000000
--- a/branches/sca-android/modules/scdl4j/pom.xml
+++ /dev/null
@@ -1,315 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <name>Apache Tuscany SCDL4J</name>
- <artifactId>tuscany-scdl4j</artifactId>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly-xsd</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-definitions</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-definitions-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-policy</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-policy-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-xsd</artifactId>
- <version>${pom.version}</version>
- </dependency>
-
- <!-- extensions -->
-
- <!--
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-atom</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-corba</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-ejb</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-jsonrpc</artifactId>
- <version>${pom.version}</version>
- </dependency>
--->
-
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java-jaxws</artifactId>
- <version>${pom.version}</version>
- </dependency>
-
- <!-- dependencies to keep in the shaded pom.xml -->
-
- <dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0-2</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <!-- promoteTransitiveDependencies>true</promoteTransitiveDependencies -->
- <!-- shadedArtifactAttached>true</shadedArtifactAttached -->
- <artifactSet>
- <excludes>
- <exclude>javax.xml.stream:stax-api</exclude>
- <exclude>stax:stax-api</exclude>
- <exclude>com.sun.xml.bind:jaxb-impl</exclude>
- <exclude>xml-apis:xml-apis</exclude>
- <exclude>javax.jws:jsr181-api</exclude>
- <exclude>javax.xml.bind:jaxb-api</exclude>
- <exclude>org.jvnet.jaxb.reflection:jaxb2-reflection</exclude>
- <exclude>org.codehaus.woodstox:wstx-asl</exclude>
- <exclude>asm:asm-all</exclude>
- <exclude>javax.annotation:jsr250-api</exclude>
- <exclude>javax.activation:activation</exclude>
- <exclude>cglib:cglib-nodep</exclude>
- <exclude>javax.xml.ws:jaxws-api</exclude>
- <exclude>javax.xml.soap:saaj-api</exclude>
- <exclude>org.apache.geronimo.specs:geronimo-commonj_1.1_spec</exclude>
- <exclude>org.apache.ws.commons.schema:XmlSchema</exclude>
- </excludes>
- </artifactSet>
- <filters>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-interface-java-jaxws</artifact>
- <excludes>
- <exclude>com/example/**</exclude>
- </excludes>
- </filter>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-databinding-jaxb</artifact>
- <excludes>
- <exclude>com/example/**</exclude>
- </excludes>
- </filter>
- </filters>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.core.ModuleActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBinding</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.work.WorkScheduler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider</resource>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>